0
我在数据库中有服务请求。我需要知道在过去的两周内,有多少人被打开/关闭,按天分组。SQL group by current timestamp
我有这样的查询:
SELECT RIGHT('00'+CONVERT(VARCHAR(2), DATEPART(MONTH, OPENTIME)), 2)
+ '-'
+ RIGHT('00'+CONVERT(VARCHAR(2), DATEPART(DAY, OPENTIME)), 2) AS 'Day',
COUNT(OPENTIME) AS
'Count of Opened',
COUNT(CLOSETIME) AS
'Count of Closed'
FROM JEZD.F_SERVICE_REQUESTS
WHERE OPENTIME >= DATEADD(DAY, DATEDIFF(DAY, 0,
DATEADD(D, -14, CURRENT_TIMESTAMP)), 0
)
GROUP BY RIGHT('00'+CONVERT(VARCHAR(2), DATEPART(MONTH, OPENTIME)), 2)
+ '-'
+ RIGHT('00'+CONVERT(VARCHAR(2), DATEPART(DAY, OPENTIME)), 2)
这是正在通过的OpenTime所以例如分组今天没有请求打开的服务,这个SQL不会计算任何关闭的门票,直到打开一些新的门票。我试图修改where子句和group子句从OpenTime到Current_Time,但我得到错误Each GROUP BY expression must contain at least one column that is not an outer reference.
您有任何解决方法吗?
数据集,截至目前:
Day Opened Closed
09-30 29 21
10-02 23 18
09-27 27 25
10-03 16 12
10-01 59 44
09-26 23 18
10-04 31 20
09-25 35 29
10-07 22 12
是的,我有它像th正在使用联盟。但是,我正在寻找其他解决方案。谢谢你的回复! – DNac