
sql查询 分组后 每组某字段值最大的一行所有列
字段有:id、name、address、fenshu、update1n1a1s1200708012n2a1s2200703023n3a2s3200705014n3a1s7...
字段有: id、name、 address、 fenshu、 update
1 n1 a1 s1 20070801
2 n2 a1 s2 20070302
3 n3 a2 s3 20070501
4 n3 a1 s7 20070501
5 n3 a2 s4 20070301
6 n3 a2 s8 20070301
我想得到的数据是 按照 address 分组 然后取出每组中fenshu最大的那一条纪录。结果应该是这两条纪录:
1 n1 a1 s7 20070801
3 n3 a2 s8 20070501 展开
1 n1 a1 s1 20070801
2 n2 a1 s2 20070302
3 n3 a2 s3 20070501
4 n3 a1 s7 20070501
5 n3 a2 s4 20070301
6 n3 a2 s8 20070301
我想得到的数据是 按照 address 分组 然后取出每组中fenshu最大的那一条纪录。结果应该是这两条纪录:
1 n1 a1 s7 20070801
3 n3 a2 s8 20070501 展开
9个回答
展开全部
select t.* from table_name t where t.fenshu =
(select max(tt.fenshu) from table_name tt where tt. address = t.address )
(select max(tt.fenshu) from table_name tt where tt. address = t.address )
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
select * from 表 where address+cast(fenshu as varchar(20)) in (
select address+cast(max(fenshu) as varchar(20)) from 表 group by address)
select address+cast(max(fenshu) as varchar(20)) from 表 group by address)
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
2012-07-23
展开全部
select *,max(fenshu) from 表 group by address
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
select * from table
where fenshu in (
select max( fenshu) from tabe
group by address)
where fenshu in (
select max( fenshu) from tabe
group by address)
追问
你这明显是错的 fenshu 都相同的情况 你不是把所有项都查出来了
追答
额 是的 失误 perneer那个不错
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询