Limite los resultados de MSSQL dinámicamente

programación


Hola a todos, estoy inclinando la cabeza sobre algo que podría tener una solución obvia que me falta.
Tengo una gran base de datos en mssql y estoy usando Grafana.
Para recuperar una gran parte del historial, me gustaría limitar dinámicamente los resultados devueltos en mi consulta.

Lo que he probado:

Tengo un registro cada segundo para poder obtener la cantidad total de filas de la siguiente manera:

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

Ahora quiero tomar cada enésima fila para obtener una serie de datos aproximados.
la enésima fila es un porcentaje de @TotalRows. En mi caso, me gustaría calcular 1000000 (la cantidad máxima de filas)/@TotalRows

Mi consulta ahora se ve así

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

Estuve buscando diferentes enfoques, pero todavía no encuentro uno adecuado.

Solución 1

Utilice consultas SQL dinámicas: ejemplos aquí Ejecutar comandos SQL dinámico en SQL Server[^] o aquí – SQL Server SQL dinámico[^]

コメント

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