OrE*_*lse 10 sql sql-server distinct
假设我们在SQL Server表中有以下记录.
Date
19/5/2009 12:00:00 pm
19/5/2009 12:15:22 pm
20/5/2009 11:38:00 am
Run Code Online (Sandbox Code Playgroud)
获取类似这样的东西的SQL语法是什么?
日期 计数
19/5/2009 2
20/5/2009 1
Rob*_*Day 15
您需要在日期字段的仅日期版本上进行任何分组,例如此类.
SELECT
CONVERT(VARCHAR(10), YourDateColumn, 101),
COUNT(*)
FROM
YourTable
GROUP BY
CONVERT(VARCHAR(10), YourDateColumn, 101)
Run Code Online (Sandbox Code Playgroud)
我通常会这样做,因为它避免了转换为varchar.
SELECT
DATEPART(yy, YourDateColumn),
DATEPART(mm, YourDateColumn),
DATEPART(dd, YourDateColumn),
COUNT(*)
FROM
YourTable
GROUP BY
DATEPART(yy, YourDateColumn),
DATEPART(mm, YourDateColumn),
DATEPART(dd, YourDateColumn)
Run Code Online (Sandbox Code Playgroud)
编辑:另一种获取日期时间的日期部分的方法
DATEADD(d, 0, DATEDIFF(d, 0, YourDateColumn))
Run Code Online (Sandbox Code Playgroud)