请教: 这个sql查询如何写? 谢谢
- 似水请教: 这个sql查询如何写? 谢谢
如图, group by "id列", 选 a列的"maximum", 选b列对应a列"maxumun"的那一行. 前面都没问题, 只是不知道如何抓到"b列对应a列"maxumun"的那一行", 谢谢 - 木鱼虫简单点就用标量子查询,复杂点就用开窗函数
- 屋大维join一下不就好了,前提你还要保证id+a是unique的。
- ptcptr-- 准备临时表数据
create table #a(id int,a int,b varchar(10))
insert #a values(1,1,'a')
insert #a values(1,2,'b')
insert #a values(1,3,'c')
insert #a values(2,4,'d')
insert #a values(2,5,'e')
insert #a values(2,6,'f')
insert #a values(2,7,'g')
-- 查询语句
select a.* from #a a join
(select id,a=max(a) from #a group by id) as b on a.id=b.id and a.a=b.a order by a.id
-- 删除临时表
drop table #a - suifeng123用row_number啊
- 似水谢谢.............
- xsongliveselectt1.id,t1.a,t1.b
from table as t1
left join table as t2
ont1.id=t2.id
and t1.a<t2.a
wheret2.idis null - meanmachine子查询,或者用窗口(row_number / rank) 取对应第一行 iOS fly ~