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