簡體   English   中英

嘗試選擇需要計算某個日期和當前日期之間差異的選擇計數

[英]Trying to a Select Count where it needs to count the difference between a certain date and current date

這對我來說不太適用!

我的查詢如下:

SELECT COUNT (*) as [generic] 
FROM [Log]
Where value IN (Select ID, tsSendDocument, sysReceivedFrom
WHERE sysReceivedFrom = 'generic' AND 
DATEDIFF(hour, tsSendDocument, GetDate()) > 2) 

那么,我在這里做錯了什么?

我希望它在每次 tsSendDocument 列超過 2 小時時進行計數。 它最終會給我一個等於 1 的計數。如果值 = 1,我設置了一個表來提醒我,這意味着 tsSendDocument 超過 2 小時。

這有意義嗎?

根據您的評論,我了解到您想檢查最后一個條目是否超過 2 小時,所以這應該有效:

SELECT TOP 1 CASE WHEN tsSendDocument < DATEADD(HOUR, -2, GETDATE()) THEN 1 ELSE 0 END AS [generic]
FROM [Log]
ORDER BY tsSendDocument DESC

我認為你只想要聚合:

Select COUNT(*) 
FROM Log
WHERE sysReceivedFrom = 'generic' AND 
      DATEDIFF(hour, tsSendDocument, GetDate()) > = 2;

當您指定INNOT IN子句時, subquery將只返回一個表達式。

暫無
暫無

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

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