2 つの列をグループ化するクエリを作成しています。これは、Col1 と Col2 を同じグループに入れることを意味します。
Group Col1 に基づいてレコードの SUM を実行するにはどうすればよいですか?
私はこれまでのところこれを持っています: http://sqlfiddle.com/#!3/eada2/1
ありがとうございました
2 つの列をグループ化するクエリを作成しています。これは、Col1 と Col2 を同じグループに入れることを意味します。
Group Col1 に基づいてレコードの SUM を実行するにはどうすればよいですか?
私はこれまでのところこれを持っています: http://sqlfiddle.com/#!3/eada2/1
ありがとうございました
集計関数を配置するだけですt.allDocuByActivity
MIN(t.allDocuByActivity) AS [Total DocuType in Activity],
ただし、あなたのラベルはDocuType
. 必要ありませんDISTINCT
か?
以下のようにして解決できました。
WITH cteActivityIds (activityId, allDocuByActivity)
AS
(SELECT activityId, COUNT(*) AS allDocuByActivity FROM #ER GROUP BY activityId)
SELECT
E.activityId AS [Actiivty ID],
docuType AS [Docu Type],
COUNT(docuType),
CONVERT(DECIMAL(16,2), (COUNT(docuType) * 100.00 / t.allDocuByActivity)) [Total DocuType in Activity],
SUM(CASE WHEN [sent] != '1-1-1900' THEN 1 END) AS [Sent],
SUM(CASE WHEN [approved] != '1-1-1900' THEN 1 END) AS [Approved]
FROM
#ER AS E
INNER JOIN cteActivityIds AS t
ON E.activityId = t.activityId
GROUP BY
E.activityId, docuType, t.allDocuByActivity
ありがとう