MySQL query to display inserts/updates/deletes/reads per second
For example to get "reads per second" I've tried querying information_schema.global_status using com_select/uptime but that gives me an all time average.


Yes, "all time" since the MySQL instance was started.


  Maybe I need to store results every so often and compare to those? 


Yes, I think this could be the way to go as I don't think there are any stats in MySQL for historic status variables. 

SELECT VARIABLE_NAME, VARIABLE_VALUE 
FROM information_schema.global_status 
WHERE VARIABLE_NAME IN ('COM_SELECT', 'COM_INSERT', 'COM_UPDATE', 'COM_DELETE');


Then wait for an interval of your preferred length, and then re-run the query, and store the difference somewhere. (Obviously, running the query itself is a SELECT, so it will influence the result, as will an INSERT query be if you store the results in the same MySQL instance.) 

For reference: Server Status Variables: Com_xxx