来帮我看看这个mysql语句该怎么写!

qq_28701223 2015-08-20 05:57:42
test
name add num

a wefsv 3

b asdf 4
b wers 9
b w1rs 10

as asdf 11
as wers 12
as w3rs 13

例如上面这个表,我需要用select * from test......

来选出如下结果(每个name中num最大的那个,只要一行,其它不管!)
a wefsv 3
b w1rs 10
as w3rs 13

再多此一问,如果要选择2行怎么办?

b wers 9
b w1rs 10

as wers 12
as w3rs 13

a wefsv 3
...全文
90 9 打赏 收藏 转发到动态 举报
写回复
用AI写文章
9 条回复
切换为时间正序
请发表友善的回复…
发表回复
xuzuning 2015-08-21
  • 打赏
  • 举报
回复
问题二
select * from test t
 where 2>(select count(*) from test where num>t.num and name=t.name);
name add   num 
a    wefsv 3 
b    wers  9 
b    w1rs  10 
as   wers  12 
as   w3rs  13 
所以问题一的又一写法是 select * from test t where 1>(select count(*) from test1 where num>t.num and name=t.name)
qq_28701223 2015-08-21
  • 打赏
  • 举报
回复
引用 6 楼 benluobobo 的回复:
1 行 select * from test a where 0 = (select count(*) from test where name = a.name and num > a.num) 2 行 select * from test a where 2 > (select count(*) from test where name = a.name and num > a.num)
太牛了!昨天我弄了半小时都弄不出来!,谢谢!你这方法我感觉最好!
qq_28701223 2015-08-21
  • 打赏
  • 举报
回复
引用 5 楼 xuzuning 的回复:
第一问
select * from (select * from test order by num desc) t group by name
name add   num 
a    wefsv 3 
as   w3rs  13 
b    w1rs  10 
好厉害!谢谢!
benluobo 2015-08-21
  • 打赏
  • 举报
回复
1 行 select * from test a where 0 = (select count(*) from test where name = a.name and num > a.num) 2 行 select * from test a where 2 > (select count(*) from test where name = a.name and num > a.num)
xuzuning 2015-08-21
  • 打赏
  • 举报
回复
第一问
select * from (select * from test order by num desc) t group by name
name add   num 
a    wefsv 3 
as   w3rs  13 
b    w1rs  10 
xuzuning 2015-08-21
  • 打赏
  • 举报
回复
第一问
select * from (select * from test order by num desc) t group by name
name add   num 
a    wefsv 3 
as   w3rs  13 
b    w1rs  10 
一起混吧 2015-08-21
  • 打赏
  • 举报
回复
每个name最大的一行 select * from test a where not exists (select 1 from test where name=a.name and num>a.num);
qq_28701223 2015-08-21
  • 打赏
  • 举报
回复
引用 1 楼 zy205817 的回复:
slect name,add,num from test group by add order by add desc
大神!不行啊!每个选出num不是最大的
码无边 2015-08-21
  • 打赏
  • 举报
回复
slect name,add,num from test group by add order by add desc

21,893

社区成员

发帖
与我相关
我的任务
社区描述
从PHP安装配置,PHP入门,PHP基础到PHP应用
社区管理员
  • 基础编程社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧