Re: [SQL ] select 語法的問題
對 MySQL 不太熟
底下的語法應該可以達成你要的功能
SELECT ID, VALUE, DATE_TIME
FROM DATE_TEST MAIN,(SELECT MAX(DATE_TIME) DATE_TIME2
FROM DATE_TEST
GROUP BY DATE_FORMAT(DATE_TIME, '%Y%m%d%H')) MAX_DATE
WHERE MAIN.DATE_TIME = MAX_DATE.DATE_TIME2;
這只計算到小時,萬一同一小時內有多筆資料,就會查詢出多筆結果
也許你會想再限制其它條件,如下
SELECT ID, VALUE, DATE_TIME
FROM DATE_TEST MAIN,(SELECT MAX(ID) ID2, MAX(DATE_TIME) DATE_TIME2
FROM DATE_TEST
GROUP BY DATE_FORMAT(DATE_TIME, '%Y%m%d%H')) MAX_DATE
WHERE MAIN.DATE_TIME = MAX_DATE.DATE_TIME2
AND MAIN.ID = MAX_DATE.ID2;
※ 引述《freewhat (這就是人生嗎)》之銘言:
: 大家好,我用的是Mysql,
: 這邊遇到一個問題,想請問是否能用一句sql語法就解決掉。
: id datetime value
: -- -------------- ------
: 1 2010-01-01 02:30 30
: 2 2010-01-01 02:40 15
: 3 2010-01-01 02:55 20
: 4 2010-01-01 03:00 10
: ...
: 2010-01-01 03:55 20
: 2010-01-01 04:10 25
: 2010-01-01 04:50 55
: 2010-01-01 05:10 20
: 我想要查出某日期下,某時的最後一筆 value為何
: 例如上面例子為
: datetime value
: ---------------- ------
: 2010-01-01 02 20
: 2010-01-01 03 20
: 2010-01-01 04 55
: 如果用多筆語法我是會,不過要用單一語法解決想了很久不知如處理。
: 謝謝。
※ 引述《freewhat (這就是人生嗎)》之銘言:
: 大家好,我用的是Mysql,
: 這邊遇到一個問題,想請問是否能用一句sql語法就解決掉。
: id datetime value
: -- -------------- ------
: 1 2010-01-01 02:30 30
: 2 2010-01-01 02:40 15
: 3 2010-01-01 02:55 20
: 4 2010-01-01 03:00 10
: ...
: 2010-01-01 03:55 20
: 2010-01-01 04:10 25
: 2010-01-01 04:50 55
: 2010-01-01 05:10 20
: 我想要查出某日期下,某時的最後一筆 value為何
: 例如上面例子為
: datetime value
: ---------------- ------
: 2010-01-01 02 20
: 2010-01-01 03 20
: 2010-01-01 04 55
: 如果用多筆語法我是會,不過要用單一語法解決想了很久不知如處理。
: 謝謝。
--
※ 發信站: 批踢踢實業坊(ptt.cc)
◆ From: 122.116.222.186
推
03/13 14:59, , 1F
03/13 14:59, 1F
→
03/13 15:04, , 2F
03/13 15:04, 2F
→
03/16 13:17, , 3F
03/16 13:17, 3F
推
03/17 02:19, , 4F
03/17 02:19, 4F
討論串 (同標題文章)
本文引述了以下文章的的內容:
完整討論串 (本文為第 2 之 2 篇):