繁体   English   中英

MYSQL:计算具有相同日期的行

[英]MYSQL: count rows with same date

我得到了一个名为event_details的表,总结如下:

Id creation_date
 1 2015-03-18 18:59
 2 2015-03-18 17:59
 3 2015-03-18 16:59
 4 2015-03-17 14:59
 5 2015-03-17 18:59
 6 2015-03-17 19:59
 7 2015-03-16 11:59
 8 2015-03-15 03:59
 9 2015-03-15 02:59
10 2015-03-15 08:59
11 2015-03-14 09:59

我想对具有相同日期的行进行计数,并得到如下所示的结果?

我怎样才能做到这一点? 是否可以使用嵌套查询或我应该使用联接?

cnt creation_date
  3 2015-03-18
  3 2015-03-17
  1 2015-03-16
  3 2015-03-15
  1 2015-03-14

最后一个问题:这自然是一项繁重的SQL任务,是否对数据库服务器施加了高负载?

这可以通过group bycount来完成

select 
count(*) as cnt,
date(creation_date) as creation_date_date
from event_details
group by creation_date_date

你可以试试看

SELECT COUNT(*), creation_date FROM table_name GROUP BY creation_date

这首先将所有具有相同的creation_date的行分组,然后计算每个组中的行数。 您还可以按以下顺序对行进行排序:

SELECT COUNT(*), creation_date FROM table_name GROUP BY creation_date ORDER BY creation_date

做到了。

SELECT COUNT(*) as cnt,
       date(creation_date) as creation_date 
FROM event_details 
GROUP BY 2

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM