作者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
1F:推 LaPass:你想要的是 group by 功能吗? 02/22 22:35
2F:→ glennchen:group by + MAX 02/22 22:46
3F:→ carlsiu:用"select max(时间)...group by 中心;"只会给出首个温度 02/22 22:47
4F:→ carlsiu:having max(时间)? 02/22 22:48