Warning: file_get_contents(/data/phpspider/zhask/data//catemap/0/drupal/3.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
SQL Server按日期时间对行进行分组,并使用计数获取总数_Sql_Sql Server_Select - Fatal编程技术网

SQL Server按日期时间对行进行分组,并使用计数获取总数

SQL Server按日期时间对行进行分组,并使用计数获取总数,sql,sql-server,select,Sql,Sql Server,Select,我有一个带有一些字段的表,其中一个是datetime类型: Id When typeOfAction 1 01/02/2020 10:30:02 7 2 01/02/2020 10:30:02 7 3 01/02/2020 10:30:02 7 4 01/02/2020 12:15:00 7 5 01/02/2020 12:15:00 7 6 10/03/2020 17:00:45 7 我想得到

我有一个带有一些字段的表,其中一个是datetime类型:

Id  When                   typeOfAction 
1   01/02/2020 10:30:02    7
2   01/02/2020 10:30:02    7
3   01/02/2020 10:30:02    7
4   01/02/2020 12:15:00    7
5   01/02/2020 12:15:00    7
6   10/03/2020 17:00:45    7
我想得到一个具体的日子里,typeOfAction=7的行数。具有相同日期和时间的行应计为1行


例如,如果我想获得2020年2月1日typeOfAction=7的行数,我希望获得2的计数,因为日期和时间相同的行2020年2月1日10:30:02应计为1,2020年2月1日10:30:02的行数相同。

您可以通过它提取日期和组,然后计算每个日期的不同日期时间:

选择强制转换(当为日期时)、计数(当为不同日期时)
从mytable
其中,操作类型=7
按演员分组(截止日期时)

您可以通过以下分析功能来实现:

select t.*, count(*) over (partition by typeOfAction, cast(when as date)) cnt from t
日期时间的
cast
将删除时间部分,以便查找当天的数据。

CONVERT(日期,'yourdatetimeHere')
去除时间。