2 つの日付間の日付のレコード数の計算
多軸グラフの日付範囲内にあるレコード数を計算するには、次のようにします。元のクエリのオペランド型の不一致を克服する必要があります。この問題に対処するために、集計テーブルまたは集計関数を活用する代替アプローチを検討します。
パフォーマンスの高いソリューションの 1 つは、集計テーブルまたは集計関数の利用です。 Itzik Ben-Gan の有名な集計関数は、次のように組み込むことができます。
DECLARE @StartDate date = '2020-11-01', @EndDate date = '2021-02-22'; WITH L0 AS ( SELECT 1 AS c FROM (VALUES(1),(1),(1),(1),(1),(1),(1),(1), (1),(1),(1),(1),(1),(1),(1),(1)) AS D(c) ), L1 AS ( SELECT 1 AS c FROM L0 AS A CROSS JOIN L0 AS B ), L2 AS ( SELECT 1 AS c FROM L1 AS A CROSS JOIN L1 AS B ), Nums AS ( SELECT ROW_NUMBER() OVER(ORDER BY (SELECT NULL)) AS rownum FROM L2 ) Date_Range_T (d_range) AS ( SELECT TOP(DATEDIFF(day, @StartDate, @EndDate) + 1) DATEADD(day, rownum - 1, @StartDate) AS d_range, DATEADD(day, rownum, @StartDate) AS d_rangeNext FROM Nums ) SELECT d_range, COUNT(Id) AS Total FROM Date_Range_T LEFT JOIN tbl_Support_Requests R ON R.CreatedDate >= T.d_range AND R.CreatedDate < T.d_rangeNext GROUP BY d_range ORDER BY d_range ASC
このアプローチでは、指定された期間の日付範囲テーブルが生成され、その後、tbl_Support_Requests テーブルとの左結合で使用され、範囲内のレコードがカウントされます。各日付範囲
以上がSQL で日付範囲内のレコードを効率的にカウントするにはどうすればよいですか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。