簡體   English   中英

SQL Server存儲過程可分析實時流數據並報告差異

[英]SQL Server stored procedure to analyze live streaming data and reporting differences

我每隔2分鍾就有一個實時數據流,我希望(近)實時分析。 此數據的片段顯示在此處:

以2分鍾間隔的DataSnippet

此數據將存儲在SQL Server表中。

現在,我正在嘗試在滿足以下條件的SQL Server 2008中編寫存儲過程:

Highest - Max(Start,End) > Absolute Value(Start - End),

ITEM3滿足此條件。

此外,對於滿足上述條件的所有項目,它應及時返回並返回滿足“ End (Value) > Start (Value) ”條件的第一個記錄的開始。

因此,在上述情況下,返回的值應為209.1項目3。

僅在上述情況下@上午10:21滿足ITEM3的條件

附加說明:出於此查詢的目的,未使用最低值。

另外,此數據流中沒有零/空值(..暫時存在)。

由於我對SQL子查詢等的了解有限,因此我無法獲得超出第一個條件的期望結果。

select desc 
from table1                     
where Highest - dbo.InlineMax(Start,End) > abs(Start- End)  

InlineMax是我的UDF,它返回較高的值。

TIA

這應該給您您想要的。

SELECT 
    [desc], [highest], [start], [end]
FROM 
    items
GROUP BY 
    [desc], [highest], [start], [end]
HAVING
    (MAX([start]) > MAX([end]) and highest - MAX([start]) > ABS([start]-[end]))
    OR
    (MAX([start]) <= MAX([end]) and highest - MAX([end]) > ABS([start]-[end]))

按相關列進行分組,然后使用hading子句將其過濾掉。

  • 如果max(start)> max(end),則要求最高-max(start)> abs(start-end)
  • 如果max(start)<= max(end)然后要求最高-max(end)> abs(start-end)

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM