время эпохи и MySQL запрос - PullRequest
6 голосов
/ 19 октября 2011

У меня есть такая таблица:

id   | date
---- | -----------
1    | 1319043263
2    | 1319043578

какой формат поля даты в эпоху. Я должен сгруппировать все строки, которые принадлежат одному и тому же дню, и показать их в отдельной группе. Как я могу сделать это в MySQL?

Спасибо.

Ответы [ 2 ]

14 голосов
/ 19 октября 2011

Группировка по:

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

1 голос
/ 14 июня 2013

Думаю, что это так, учитывая требования к группировке.

Просто добавьте MIN / MAX в качестве примера для агрегирования домена.

SELECT
  DATE(FROM_UNIXTIME(`epoch`)) AS `GroupedDate`,
  MIN(FROM_UNIXTIME(`epoch`)) AS `DayStart`,
  MAX(FROM_UNIXTIME(`epoch`)) AS `DayEnd`
FROM
  `timestamps`
GROUP BY
  DATE(FROM_UNIXTIME(`epoch`))
ORDER BY
   `epoch` ASC;
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...