![](/img/trans.png)
[英]SQL Server: Count days difference between previous date and current date
[英]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;
當您指定IN
或NOT IN
子句時, subquery
將只返回一個表達式。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.