好,我有一张这样的表:
ID Signal Station OwnerID 111 -120 Home 1 111 -130 Car 1 111 -135 Work 2 222 -98 Home 2 222 -95 Work 1 222 -103 Work 2
这一切都是在同一天.我只需要查询返回每个ID的最大信号:
ID Signal Station OwnerID 111 -120 Home 1 222 -95 Work 1
我尝试使用MAX(),并且与每个记录不同的站和OwnerID的聚合混乱.我需要做JOIN吗?
解决方法
这样的东西加入自己的表,并排除发现更高信号的行.
select cur.id,cur.signal,cur.station,cur.ownerid from yourtable cur where not exists ( select * from yourtable high where high.id = cur.id and high.signal > cur.signal )
这将为每个最高信号列出一行,因此每个ID可能有多个行.