Re: [SQL ] select 語法的問題

看板Database作者 (570)時間16年前 (2010/03/13 14:50), 編輯推噓2(202)
留言4則, 3人參與, 最新討論串2/2 (看更多)
對 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
如果只是要2點的最後一筆,就select top1 再order by date
03/16 13:17, 3F

03/17 02:19, , 4F
樓上... 人家在提 MySQL ...
03/17 02:19, 4F
文章代碼(AID): #1BcpMYit (Database)
文章代碼(AID): #1BcpMYit (Database)