1
過去12か月間の各月のSQL Serverの異なるオペレーティングシステムタイプを表示するレポートを作成する作業があります。過去12か月間の各月のSQL Server OSタイプの数
私は、次の表を作成し、データは毎日の内側にロードされます。
私は次の形式で表示される最後の12ヶ月間の各月のOSの種類を取得する必要があります:
次のクエリを書きましたが、間違っています。私が持っている苦労は、毎月の最後のデータ収集(毎月の最後の日ではない)のOSタイプを取得し、フォーマットをMon YYYY
で表示する方法です。私はSQL Server 2008 R2を使用しています。何か案は?
WITH cte AS (
SELECT OSVer = CASE OSVer
WHEN '5.0.2195' THEN 'Windows Server 2000'
WHEN '5.2.3790' THEN 'Windows Server 2003'
WHEN '6.0.6002' THEN 'Windows Server 2008'
WHEN '6.1.7600' THEN 'Windows Server 2008 R2'
WHEN '6.1.7601' THEN 'Windows Server 2008 R2 SP1'
WHEN '6.2.9200' THEN 'Windows Server 2012'
WHEN '6.3.9600' THEN 'Windows Server 2012 R2'
ELSE OSVer
END,
Date,
ROW_NUMBER() OVER (PARTITION BY DATEDIFF(DAY, 0, Date) ORDER BY Date DESC) as rn
FROM dbo.SQLMachines
WHERE OSName IS NOT NULL
)
SELECT OSVer, Count(OSVer) AS 'Count', Date
FROM cte
where rn = 1
GROUP BY OSVer, Date
ORDER BY Date DESC
これはうまくいった!ありがとう! –