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按天计数和分组的主要内容,如果未能解决你的问题,请参考以下文章

PostgreSQL 查询按天计数/分组并显示没有数据的天数

在 django admin 中按天分组?

Grafana 图表按天或月分组?

分组和计数mysql

MySQL 按日期和计数分组,包括丢失的日期

特定日期之间的Mysql计数和分组