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

时间:2015-03-18 18:11:44

标签: mysql database

我有一张名为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任务,是否对数据库服务器施加了高负荷?

3 个答案:

答案 0 :(得分:3)

你可以试试这个。

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

答案 1 :(得分:3)

可以使用group bycount

完成此操作
select 
count(*) as cnt,
date(creation_date) as creation_date_date
from event_details
group by creation_date_date

答案 2 :(得分:1)

就是这样。

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