[英]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.