SQL Server服务器查询-计算不同的DateTime字段 [英] SQL Server Server query - Count distinct DateTime field

查看:81
本文介绍了SQL Server服务器查询-计算不同的DateTime字段的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

假设我们在SQL Server表中有以下记录。

Supposing we have the following records in an SQL Server table.

Date
19/5/2009 12:00:00 pm
19/5/2009 12:15:22 pm
20/5/2009 11:38:00 am

获取类似内容的SQL语法是什么?

What is the SQL syntax for getting something like this one?

日期 计数

2009年5月19日 2

2009年5月20日 1

推荐答案

您需要对日期字段的仅日期版本进行任何分组,例如。

You need to do any grouping on a Date only version of your datefield, such as this.

SELECT
    CONVERT(VARCHAR(10), YourDateColumn, 101),
    COUNT(*)
FROM
    YourTable
GROUP BY
    CONVERT(VARCHAR(10), YourDateColumn, 101)

我通常这样做,因为它避免了转换为varchar

I usually do this though, as it avoids conversion to 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)

编辑:另一种获取方法只是日期时间的日期部分

Another way to get just the date part of a datetime

DATEADD(d, 0, DATEDIFF(d, 0, YourDateColumn))

这篇关于SQL Server服务器查询-计算不同的DateTime字段的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆