sql - 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
解决方案
您可以简单地将列转换为日期,然后使用 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);
上面的查询将为每一天创建一行,其中包含当天的计数和日期的升序。
推荐阅读
- javascript - JavaScript + MySQL:在结果中使用字段作为参数
- excel - 试图弄清楚为什么我的公式只适用于自动添加新行的工作表的第一行
- java - 使用 read() 从 FileInputStream 读取字符
- r - data.table 中的分组操作
- java - 在 Ubuntu 18.04 上使用 openJDK 10.0.1 和 bazel 为 java 构建 tensorflow 时出错
- javascript - Axios Post Method 实现自定义headers和token值
- vbscript - 在 asp classic 中本地保存远程 CSV 文件
- block - 尝试在 Mailchimp 中使块元素相互接触
- oracle - Oracle 数据库使用 UTL_file 和 dbms 将数据从文本文件加载到数据库
- mysql - 选择除最后一个 id 之外的所有内容 WHERE HITS > 1000