GROUP BY アクティビティ、ドキュメント、抽出
はできません PIVOT
内 テーブル演算子、PIVOT
演算子は、グループ化された列を自動的に推測します。しかし、次のように書くこともできます:
WITH PivotedAS( SELECT * FROM table1 PIVOT ( sum([Count]) FOR [Type] IN ( Document , Extraction) ) AS p) SELECT product, SUM(Users) AS TotalUsers, MAX(DAte) AS LatestDate, MAX(Document) AS Document, MAX(Extraction) AS ExtractionFROM PivotedGROUP BY Product;
プレ>SQL Fiddle デモ
これにより以下が得られます:
<プレ>|製品 |合計ユーザー | LATESTDATE |ドキュメント |抽出 |------------------------------------------------ ------------------------------------|製品 | 60 | 2013 年 3 月 2 日 02:00:00+0000 | 113 | 152 ||プロデシベル | 45 | 2013 年 3 月 2 日 02:00:00+0000 | 40 | 73 |コード> プレ>
アップデート 1
WITH aAS( SELECT activity, username, [Last Accessed] =max(DATEADD(dd, DATEDIFF(d, 0, ActDateTime), 0)), --[#Users] =count(個別のユーザー名) , CASE WHEN COUNT(activity) IS NOT NULL THEN 1 ELSE 0 END AS Count, CASE WHEN pageURL LIKE '/Document%' OR pageURL LIKE '/Database%' THEN 'Document' ELSE 'Extraction' END AS [Type] from activitylog where pageURL not like '%home%' AND pageURL not like '/Default%' group by activity, username, ...), PivotedAS( SELECT * FROM a PIVOT ( sum([Count]) FOR [Type] IN ( Document 、Extraction) ) AS p) SELECT product、SUM(Users) AS TotalUsers、MAX(DAte) AS LatestDate、MAX(Document) AS Document、MAX(Extraction) AS ExtractionFROM PivotedGROUP BY Product; コード> プレ>