我有一个事件表,其中包含太多列。 我想查询3列,DateTimeResolved,团队和个人。 首先,我想将DateTimeResolved列中的时间与日期分开。 然后我想知道自2017年4月以来,每个团队有多少个人(唯一身份)解决了事件。

能做到吗?

我有以下查询工作,但显然它们需要调整,因为它们没有给我我想要的最终结果。

select stat_datetimeresolved, resolvedbyteam, resolvedby 
from [dbo].[Incident]
where Stat_DateTimeResolved is not null
and Stat_DateTimeResolved >= '2017-04-01 00:00:00'
order by Stat_DateTimeResolved asc


select CAST(stat_datetimeresolved as date),
COUNT(resolvedby)
from [dbo].[Incident]
group by CAST(Stat_DateTimeResolved as DATE)
order by CAST(stat_datetimeresolved as DATE) asc

#1楼 票数:1 已采纳

你很亲密 您可以将DISTINCT关键字添加到COUNT中,以按天获取唯一身份的团队成员数。

SELECT CAST(stat_datetimeresolved as date) as DateResolved
, ResolvedByTeam
, COUNT(DISTINCT resolvedby) as ResolvedByCnt
FROM [dbo].[Incident]
 WHERE Stat_DateTimeResolved >= '20170401'
GROUP BY CAST(Stat_DateTimeResolved as DATE), ResolvedByTeam
ORDER BY CAST(stat_datetimeresolved as DATE) asc, ResolvedByTeam

#2楼 票数:0

您在此处的问题中有多个不兼容的请求。 我认为您所追求的实际上是:

自2017年4月起,每个团队每天有多少人制定决议?

为此,您只需要返回一个唯一的列表,其中包含解决日期,个人所属的团队以及实际做出解决的团队,然后进行汇总:

with r as
(
    select distinct cast(stat_datetimeresolved as date) as DateResolved
                   ,ResolvedByTeam
                   ,ResolvedBy
    from [dbo].[Incident]
    where Stat_DateTimeResolved >= '20170401'  -- NULL check is redundant if you are filtering for a value
)
select DateResolved
      ,ResolvedByTeam
      ,count(ResolvedBy) as NumIndividualsMakingResolutions
from r
group by DateResolved
        ,ResolvedByTeam
order by DateResolved
        ,ResolvedByTeam;

  ask by A.Mellors translate from so

未解决问题?本站智能推荐:

2回复

SQLServer:转换和合并单独的日期和时间列(均为整数)

我正在处理一个查询,我必须用日期时间值填充表的列 ( [Result_DateTime] )。 基于两列的日期时间,均为整数。 一个包含日期,另一个是时间。 从图中可以看出,由于它们的存储方式,将这些值合并并转换为实际日期时间有点困难。 主要是时间值引起问题。 我总结了如何转换日期列: 但后来我被
9回复

具有多个日期字段的每个日期的SQLCOUNT

我有下表和查询没有给出正确的结果。 JOB表具有打开,完成和关闭日期。 现在,我需要在所选日期组之间按每个日期和位置计算打开,完成和关闭作业的数量。 请帮助我得到如下预期结果的结果 查询: 预期结果:
1回复

如何更改日期时间格式?

我的表中有nvarchar(max)类型的RegDate列,其中日期存储在mm/dd/yyyy (5/22/2015 11:09:39 PM)和dd-mm-yyyy (19-05-2015)中22:55:05)格式。 我想以一种格式(即dd/mm/yyyy获取所有这些条目。 我试图通过使用将
5回复

C#时间到SQL日期时间

将记录插入数据库时​​,我无法将C#日期时间7/31/2017 3:13:49 PM转换为SQL日期时间。 我正在使用 但这给了我错误。 无法将字符串识别为有效的DateTime。
3回复

将字符串转换为日期和时间

我有一个数据,其中日期和时间以yyyymmdd_time(20161012_1528)格式出现。 我想将它转换为SQL Server DB中的日期时间为2016-10-12 15:28:00:00 有没有直接的方法来做到这一点。还是要创建一个自定义函数?
2回复

按日期时间选择一个datetimeoffset字段

我有一个带有 datetimeoffset 字段的表,它是主键。 我想用日期时间过滤我的表。 例如我的表有: 在本地时间格式中,第一行表示 2016-04-28 02:30:00,第二行表示 2016-04-28 03:30:00。 我的意思是其中两个日期:2016-04-28。 当我想报告日期为
1回复

SQLServer:从2008年到2014年:-数据类型的日期时间和时间在add运算符中不兼容。还有其他方法吗?

我正在从SQL Server 2008迁移到2014年,我收到一个错误 数据类型datetime和time在add运算符中不兼容。 我想出了解决方案将时间转换为DateTime,但我在许多存储过程和视图中都有变化。 针对上述问题还有其他解决方案吗?
1回复

日期时间字段足够精确,可以区分批量/批量插入中的行

我正在使用SSIS将500至3+百万行插入各种表中。 数据源可以是平面CSV文件到另一个数据库(Oracle,MySQL,SQL Server)的任何数据。 我正在尝试创建一个“ inserted_on”列,该列显示添加行的日期/时间戳,我需要它足够精确以区分上一行和下一行。 换句话说,