我有一個每秒更新一些值的表。我想檢索每分鐘的最後一個記錄。SQL查詢獲取每分鐘的最後一條記錄
我試過這段代碼,但它是返回所有記錄。
SELECT
t0.brandID, t0.brandName, t0.cdt, t0.udt, t0.brandstatus
FROM
brands t0
WHERE
t0.cdt BETWEEN '2013-11-15' and '2014-11-15'
GROUP BY
t0.brandID, t0.brandName, t0.cdt, t0.udt, t0.brandstatus,(datepart(minute, t0.cdt)/1)
我的表結構是:
ID brandname cdt udt brandstatus addedby
1 khasim 2013-11-01 19:14:18.120 2013-11-15 19:14:18.123 1 1
2 khasim 2013-11-01 19:14:18.121 2013-11-15 19:14:18.123 1 1
3 khasim 2013-11-01 19:14:18.122 2013-11-15 19:14:18.123 1 1
4 khasim 2013-11-01 19:14:18.123 2013-11-15 19:14:18.123 1 1
5 khasim 2013-11-02 19:17:57.700 2013-11-15 19:17:57.700 1 2
6 tanveer 2013-11-03 19:18:05.947 2013-11-15 19:18:05.947 1 2
7 abcdef 2013-11-04 20:50:06.783 2013-11-15 20:50:06.787 1 4
預期的結果是:
ID brandname cdt udt brandstatus addedby
4 khasim 2013-11-01 19:14:18.123 2013-11-15 19:14:18.123 1 1
5 khasim 2013-11-02 19:17:57.700 2013-11-15 19:17:57.700 1 2
6 tanveer 2013-11-03 19:18:05.947 2013-11-15 19:18:05.947 1 2
7 abcdef 2013-11-04 20:50:06.783 2013-11-15 20:50:06.787 1 4
'DATEPART(MINUTE,CDT)'也將獲得細部 –
呀,肯定分鐘的一部分。但是這樣會擾亂分區。我想我已經寫得很差。 –
你的解決方案是我正在尋找的,但是你的意思是搞亂了分區,我把分區改爲cdt(日期時間),並檢查沒有任何問題。我應該在那裏指定「之間」日期 – Tan