动态限制 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 Server 动态 SQL[^]

コメント

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