Как написать запрос на выборку данных по времени?
SELECT * FROM `mytable`
WHERE
 ( DATE(`date`) BETWEEN "2014-10-13" AND "2014-10-19" )
  AND
 ( TIME(`date`) BETWEEN "12:00:00" AND "13:00:00" )
От себя добавлю что лучше не называть поле date, т.к date это служебное слово.
Вам поможет TIMEDIFFSELECT TIMEDIFF('2000:01:01 00:00:00', '2000:01:01 00:00:00.000001');
Определение порядка - ORDER BY `field_name` [ASC|DESC];
Ограничение на вывод - LIMIT [y,]x;