Группировка по:
SELECT COUNT(`id`) AS `Records`, DATE(FROM_UNIXTIME(`date`)) AS `Date`
FROM `table`
GROUP BY DATE(FROM_UNIXTIME(`date`))
Вывод:
Records | Date
--------------------------------
10 | 2011-10-19
10 | 2011-10-18
Сортировка по:
SELECT `id`, FROM_UNIXTIME(`date`) AS `Date`
FROM `table`
ORDER BY DATE(FROM_UNIXTIME(`date`)) [ASC|DESC]
(Хотя на самом деле вы бы получили тот же порядок, используя только FROM_UNIXTIME () или необработанное значение date
, поскольку все они будут правильно составлены при попытке упорядочения)
Вывод:
id | Date
--------------------------------
03 | 2011-10-19 12:00:00
02 | 2011-10-18 12:00:00
01 | 2011-10-17 12:00:00
Это преобразует метку времени Unix в mysql datetime, а затем извлекает значение даты из значения, которое применяется к предложению группировки или заказа
Если вы хотите группировать по дням независимо от месяца и года, используйте DAY () вместоДАТА ()
Однако не могли бы вы раскрыть часть о "группировать каждую строку по дням".какой результат вы хотите показать?когда вы группируете что-то, вы используете какой-то агрегатный процессор, такой как COUNT () или SUM (), для поля внутри группы.
Справочник по групповым функциям MySQL
Справочник по функциям даты и времени MySQL