MySQL按天计数和分组
Posted
技术标签:
【中文标题】MySQL按天计数和分组【英文标题】:MySQL count and group by day 【发布时间】:2012-05-10 20:19:32 【问题描述】:我有以下结构
ID DATE(DATETIME) TID
1 2012-04-01 23:23:23 8882
我正在尝试计算行数并按每月匹配 TID = 8882 的每一天对它们进行分组
谢谢
【问题讨论】:
mysql Query GROUP BY day / month / year的可能重复 你尝试过什么吗?或者你只是在等待整个代码?每天将它们分组是什么意思?你的意思是按日期分组? 当您说“按天分组”时……您是指一个日期内的所有项目吗?或者您想将属于不同月份的同一天的项目分组(例如 1 月 1 日和 2 月 1 日,以及 3 月 1 日)? 【参考方案1】:您可以使用DAY 函数进行分组:
SELECT DAY(Date), COUNT(*)
FROM table
WHERE TID = 8882
GROUP BY DAY(Date)
【讨论】:
这对我帮助很大,因为我错过了 Day() 说唱歌手。我实际上需要 date(),但你的回答让我找到了我的解决方案。 +1【参考方案2】:不确定您所说的月份中的某天是什么意思 - 您想将 2 月 1 日与 3 月 1 日归为一组吗?或者你只是说约会?假设是后者,这个怎么样:
SELECT DATE(date) as d,count(ID) from TABLENAME where TID=8882 GROUP by d;
【讨论】:
【参考方案3】:试试这个查询:
SELECT COUNT(id), DAY(dat), MONTH(dat), YEAR(dat)
FROM table
WHERE TID=8882
GROUP BY YEAR(dat), MONTH(dat), DAY(dat);
【讨论】:
【参考方案4】:试试这个:
SELECT DAY(date) AS `DAY`, COUNT(1) AS `COUNT` FROM
table1
WHERE TID = 8882
GROUP BY DAY(date)
MySQL Query GROUP BY day / month / year呢
【讨论】:
【参考方案5】:计算每个日期:
SELECT date(created_at), COUNT(*)
FROM message_requests
GROUP BY date(created_at)
【讨论】:
以上是关于MySQL按天计数和分组的主要内容,如果未能解决你的问题,请参考以下文章