首页 > 解决方案 > MS SQL:创建 GROUP BY 语句

问题描述

需要根据日期从表中查找记录数。

列被声明为 date 。例如。2021-06-09 17:25:18.987

每一秒都有多条记录插入到表中。

请给我一个查询,以使用 group by 子句 yyyy-mm-dd 查找每个日期的总记录。

样品表

Name, registertime
A      2021-06-09 17:25:18.987
B      2021-06-01 15:25:18.987
A      2021-05-09 17:25:18.987
B      2021-06-01 17:25:18.987
A      2021-06-02 17:25:18.987
B      2021-06-03 17:25:18.987
A      2021-06-03 17:25:18.987
B      2021-06-03 17:25:18.987

预期结果

Date.                  Count
2021-05-09        1
2021-06-01        2
2021-06-02        1
2021-06-03        3
2021-06-09        1

标签: sqlsql-servergroup-bycount

解决方案


您可以简单地将列转换为日期,然后使用 group by

select cast(date_column as date) ,count(*)
from yourtable
group by cast(date_column as date)
order by cast(date_column as date);

上面的查询将为每一天创建一行,其中包含当天的计数和日期的升序。


推荐阅读