作者carlsiu (Carl Siu)
看板Database
標題[SQL ] 找出最新的紀錄
時間Wed Feb 22 22:26:54 2012
想了怎樣寫出一句 SQL 想了很久,想請各位幫幫忙。
假設這裡有兩個氣象中心,會不定期的報告當時的温度,儲在中央資料庫中:
中心|時間 |温度
A |2012-02-22 12:33 |22
A |2012-02-22 14:26 |23
B |2012-02-22 13:22 |18
B |2012-02-22 15:12 |20
問題是如何得知各中心最新的温度?即如下的資料:
中心|時間 |温度
A |2012-02-22 14:26 |23
B |2012-02-22 15:12 |20
我只會為每一個中心作一句 SQL query:
select * from table where 中心="A" order by 時間 desc limit 1;
select * from table where 中心="B" order by 時間 desc limit 1;
但這樣會很沒效率。有一句 SQL 便可做到的方法嗎?我用的是 MySQL。
謝謝!
--
※ 發信站: 批踢踢實業坊(ptt.cc)
◆ From: 219.77.150.153
推 LaPass:你想要的是 group by 功能嗎? 02/22 22:35
→ glennchen:group by + MAX 02/22 22:46
→ carlsiu:用"select max(時間)...group by 中心;"只會給出首個温度 02/22 22:47
→ carlsiu:having max(時間)? 02/22 22:48