Подтвердить что ты не робот

Группировать по дням из метки времени

В моей таблице posts она сохраняет временную метку для каждой пост-записи.

Какой запрос может группировать сообщения в день, используя этот столбец времени?

4b9b3361

Ответ 1

Как насчет этого? Используя функцию DATE:

 SELECT DATE(FROM_UNIXTIME(MyTimestamp)) AS ForDate,
        COUNT(*) AS NumPosts
 FROM   MyPostsTable
 GROUP BY DATE(FROM_UNIXTIME(MyTimestamp))
 ORDER BY ForDate

Это покажет вам количество сообщений в каждой дате, для которой в таблице есть данные.

Ответ 2

SELECT DATE(timestamp) AS ForDate,
        COUNT(*) AS NumPosts
 FROM   user_messages
 GROUP BY DATE(timestamp)
 ORDER BY ForDate

Это нашлось для меня. У меня есть временная метка типа "2013-03-27 15:46:08".

Ответ 3

SELECT
    *
FROM
(
    SELECT DATE(FROM_UNIXTIME(MyTimestamp)) AS ForDate,
           ROW_NUMBER() OVER (PARTITION BY DATE(FROM_UNIXTIME(MyTimestamp)) ORDER BY MyTimeStamp) AS PostRowID,
           *
    FROM   MyPostsTable
)
    AS sequenced_daily_posts
WHERE
    ForDate = <whatever date(s) you want>
    AND PostRowID <= 2