[ad_1]
مرحبًا جميعًا، أنا أحني رأسي على شيء قد يكون له حل واضح أفتقده.
لدي قاعدة بيانات كبيرة في 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 الديناميكية في SQL Server[^] أو هنا – SQL خادم SQL الديناميكي[^]
[ad_2]
コメント