如何创建 SQL 查询来计算按日期分组和连接的项目? [关闭]
Posted
技术标签:
【中文标题】如何创建 SQL 查询来计算按日期分组和连接的项目? [关闭]【英文标题】:How to create a SQL query to count items grouped and concatenated by date? [closed] 【发布时间】:2016-10-19 12:16:33 【问题描述】:请帮我得到这个输出。
我的意见:
-----------------------------------------------------
EMP_Id | EMP_Name | Date_Worked | Enc_No
---------------------------------------------------
100 | Aj | 2016-10-10 00:00:00.000 | 123
100 | Aj | 2016-10-10 00:00:00.000 | 124
101 | Siv | 2016-10-10 00:00:00.000 | 125
101 | Siv | 2016-10-11 00:00:00.000 | 126
102 | Nav | 2016-10-10 00:00:00.000 | 127
102 | Nav | 2016-10-11 00:00:00.000 | 128
--------------------------------------------------------
我需要这样的输出
---------------------------------------------------------
EmplyeeId | EmplyeeName | 10/10/2016 | 11/10/2016
---------------------------------------------------------
100 | Aj | 2 | 0
101 | Siv | 1 | 1
102 | Nav | 1 | 1
---------------------------------------------------------
【问题讨论】:
你尝试了什么,什么没用? 这些日期是静态的吗10/10/2016 | 11/10/2016
参见条件聚合或pivot
使用数据透视表:***.com/a/39569696/6606630
请注意,日期列不固定。
【参考方案1】:
SELECT * FROM #A
PIVOT
(
count(Enc_No)
FOR DATE_WORKED IN([2016-10-10],[2016-10-11])
) PIV;
【讨论】:
请注意,这里的日期列不固定。 你能解释一下你投了票吗@RajaA ***.com/questions/27422109/… 有了这个答案你会不满意吗?对于某种信息,我们可以用多种方式编写查询......@RajaA 我问你给负分...@RajaA【参考方案2】:我认为您在谈论动态枢轴。 我在我的项目中实现了动态枢轴。我根据您的输入为您提供示例脚本。请检查它。我相信它会对你有所帮助。
这里 EmployeeWork 是一个 TableName 。
DECLARE @FactorText varchar(max)=null
SELECT @FactorText = COALESCE(@FactorText + '], ', '') + CAST('[' + FactorText AS VARCHAR(50))
FROM (SELECT DISTINCT CONVERT(varchar, Date_Worked, 103) as FactorText FROM EmployeeWork) AS EmployeeWork
SET @FactorText = @FactorText + ']'
DECLARE @DynamicPIVOT AS VARCHAR(MAX)
SELECT @DynamicPIVOT = 'SELECT EMP_Id,emp,' + @FactorText + ' FROM ( select EMP_Id , EMP_Name as emp, EMP_Name
as AppliedValue, CONVERT(varchar, Date_Worked, 103) as FactorText FROM EmployeeWork
) EmployeeWorkData
PIVOT
(
count(AppliedValue) FOR FactorText IN (' + @FactorText + ')
) Result;'
EXEC (@DynamicPIVOT)
如果有任何查询告诉我。根据您的要求,它运行良好。
谢谢。
【讨论】:
以上是关于如何创建 SQL 查询来计算按日期分组和连接的项目? [关闭]的主要内容,如果未能解决你的问题,请参考以下文章
如何计算 SQL Server 中按日期和用户分组的条目之间的平均时间?