MySQL逐日选择

时间:2018-08-19 14:52:43

标签: mysql sql select

我有表userMessage,其中有行iduserIDtextdate(时间戳)。我想统计每天的邮件数量。怎么写这样的样本?

2 个答案:

答案 0 :(得分:1)

此SQL将在MySql中工作

SELECT 
CAST(`date` AS DATE) AS MessageDate, 
COUNT(*) AS TotalMessages, 
COUNT(DISTINCT userID) AS TotalUniqueUsers
FROM userMessage
GROUP BY MessageDate
ORDER BY MessageDate DESC

您可以在 db <> fiddle here

上对其进行测试

(顺便说一句,最好使用看起来不像保留字的列名。
F.e.而不是date,请使用msgTimestamp

答案 1 :(得分:1)

我不知道数据库是什么,但是在SQLite中,我已经尝试运行它,没关系:

select strftime('%Y-%m-%d',yourDateColumnName) as DATE_BY_DAY,count(*) 
  from userMessage 
 group by DATE_BY_DAY;