データベースに次のテーブルがあり、[開始日]と[終了日] のデータ型は datetime です
CompanyID ServiceStartDat BillingStartDate
1 03/01/2010 03/02/2010
2 12/01/2010 12/02/2010
3 15/02/2010 15/03/2010
4 28/02/2010 28/03/2010
5 04/03/2010 04/04/2010
6 04/04/2010 04/05/2010
7 29/04/2010 29/05/2010
8 07/05/2010 07/06/2010
15 30/08/2010 30/09/2010
16 31/08/2010 31/09/2010
---------- ---------- ----------
155 01/09/2010 01/10/2010
上記の表から、下の表を作成したいと思います。Trail 列を正しく取得することができましたが、Live 列にはほとんど問題がなく、数日間立ち往生した後、ほとんどあきらめました。
ライブ列には、前月の Trail 列の値が含まれている必要があります。したがって、2 月の Live 列は 2 である必要があり、これは 1 月の Trail Values です。あいまいで申し訳ありません
use testDB
Go
SELECT month(StartDate) as [MonthName],
Trail = COUNT(month(StartDate))
FROM mytable
Group by month(StartDate)
クエリで次のテーブルを生成したい
MonthName Trail Live
Jan 2 0
Feb 2 2
Mar 1 4
Apr 2 5
May 1 7
Jun 0 7
Jul 0 7
Aug 2 9
Sep 1 10