簡體   English   中英

子查詢按月和年分組

[英]Subquery Group By Month and Year

我有一個包含三列的表:

id (nvarchar)
time (datetime)
description (nvarchar)

並要計算以下數量:

SELECT 
(
(SELECT CAST(COUNT(DISTINCT id) as float)
FROM [table]
WHERE description = 'x'
) / 
(
(SELECT CAST(COUNT(DISTINCT id) as float)
FROM [table])
)
AS quotient

有沒有一種方法可以計算每個月和每年而不是整個表的相同商? 我在最后嘗試了GROUP BY MONTH(time) + YEAR(time) ,但收到以下錯誤消息:

多部分標識符無法綁定。

嘗試這個:

SELECT YEAR(time), MONTH(time), 
       COUNT(DISTINCT CASE WHEN description = 'x' THEN id END)  /
       (COUNT(DISTINCT id) * 1.0) AS quotient
FROM [table]
GROUP BY YEAR(time), MONTH(time) 

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM