我有个表,有三个字段(name,value,time),其中name这个字段总共只有几个(例如name1、name2、name3),value就是指name的值(整数),time就是时间,每天每隔5分钟会写一次,现在要求的查询是,将某天每个name的最大值和发生的时间列出来,例如,表数据如下(只有一天的)
name value time
name1 10 2010-08-02 8:40
name1 31 2010-08-02 8:50
name2 24 2010-08-02 8:35
name2 21 2010-08-02 8:45
name3 11 2010-08-02 8:32
name3 51 2010-08-02 8:37
那么查询的结果应该是
name1 31 2010-08-02 8:50
name2 24 2010-08-02 8:35
name3 51 2010-08-02 8:37这个查询该怎么写啊,能不能一条语句完成?谢谢
name value time
name1 10 2010-08-02 8:40
name1 31 2010-08-02 8:50
name2 24 2010-08-02 8:35
name2 21 2010-08-02 8:45
name3 11 2010-08-02 8:32
name3 51 2010-08-02 8:37
那么查询的结果应该是
name1 31 2010-08-02 8:50
name2 24 2010-08-02 8:35
name3 51 2010-08-02 8:37这个查询该怎么写啊,能不能一条语句完成?谢谢
[征集]分组取最大N条记录方法征集,及散分....
select *
from(
select *
from 我有个表
order by name,value desc
) t
group by name
select *
from(
select *
from 我有个表
order by name,value desc
) t
group by name
可行。
from tb k
where not exists(select * from tb where date(k.tiem)=date(time) and k.name=name and k.value<value)