Reputation: 13535
In my posts
table, it saves timestamp for each post record.
What query can group posts by day, using this timestamp column?
Upvotes: 67
Views: 105816
Reputation: 37
I did a lot of research about this error and got a solution that if you are select timestamp within DATE then you have to use this symbol (``) before and after of column name.
select DATE(addedon) as addedon, count(*) from data where id= '$bid' GROUP BY DATE(addedon)
Upvotes: 0
Reputation: 641
SELECT DATE(timestamp) AS ForDate,
COUNT(*) AS NumPosts
FROM user_messages
GROUP BY DATE(timestamp)
ORDER BY ForDate
This found for me. I have timestamp like "2013-03-27 15:46:08".
Upvotes: 52
Reputation: 86706
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
Upvotes: 0
Reputation: 100557
How about this? Using the DATE
function:
SELECT DATE(FROM_UNIXTIME(MyTimestamp)) AS ForDate,
COUNT(*) AS NumPosts
FROM MyPostsTable
GROUP BY DATE(FROM_UNIXTIME(MyTimestamp))
ORDER BY ForDate
This will show you the number of posts on each date that the table has data for.
Upvotes: 79