【解決方法】MSSQL の結果を動的に制限する


こんにちは、私は、明らかな解決策が見つからないかもしれないことに頭をかがめています。
mssql に大きなデータベースがあり、Grafana を使用しています。
大きな履歴を取得するために、クエリで返される結果を動的に制限したいと考えています。

私が試したこと:

毎秒ログがあるので、次の方法で行の総量を取得できます。

SQL
DECLARE @TotalRows REAL;
SET @TotalRows = DATEDIFF (SECOND, $__timeFrom(), $__timeTo())

ここで、n 行ごとに取得して、一連の大まかなデータを取得したいと思います。
n 行目は @TotalRows のパーセンテージです。 私の場合は、1000000 (最大行数) / @TotalRows を計算したいと思います

私のクエリは次のようになります

SQL
SELECT DateTime as time,
Value1 as "Value1",
Value2 as "Value2",
Value3 as "Value3"
FROM CKLog
WHERE DateTime > $__timeFrom() AND  DateTime < $__timeTo() 
ORDER BY DateTime ASC

さまざまなアプローチを検討していましたが、まだ適切なものが見つかりません

解決策 1

動的 SQL クエリを使用する – 例はこちら SQL Server で動的 SQL コマンドを実行する[^] またはここ – SQLサーバー動的SQL[^]

コメント

タイトルとURLをコピーしました