我試圖找到如何從每分鐘記錄數據到數據庫的記錄設備中選擇每小時的第一行。SQL:如何查詢每小時只選擇第一行?
我的示例數據:
Val Date_time
1734618 2017-06-09 14:01:04
1734609 2017-06-09 14:00:05
1734601 2017-06-09 13:59:04
1734593 2017-06-09 13:58:04
...
1734127 2017-06-09 13:02:04
1734119 2017-06-09 13:01:04
1734111 2017-06-09 13:00:05
1734103 2017-06-09 12:59:04
我的問題是,我不知道如何從每個小時實時數據查詢僅第一行,我不知道爲什麼我不能使用DATE_FORMAT()函數在Microsoft SQL服務器管理在自動完成文本建議中根本沒有這個功能。因爲沒有DATE_FORMAT()函數,我發現這個選擇每分鐘都不適用於我。
SELECT *
FROM table
WHERE Date_time IN (SELECT MIN(Date_time) AS Date_time
FROM table
GROUP BY DATE_FORMAT(Date_time,'%Y-%m-%d %H:%i'))
我的例子輸出:2行
Val Date_time
1734609 2017-06-09 14:00:05
1734111 2017-06-09 13:00:05
任何想法,請幫助先生? 非常感謝您的幫助。
編輯:使用FORMAT()函數它的工作原理。
'DATE_FORMAT'是MySQL的功能。 MS SQL Server 2012具有'FORMAT'功能。例如,'SELECT FORMAT(getdate(),'yyyy-MM-dd HH:MM:ss','en-US')' –
謝謝你的工作。 –