来帮我看看这个mysql语句该怎么写!
内容导读
互联网集市收集整理的这篇技术教程文章主要介绍了来帮我看看这个mysql语句该怎么写!,小编现在分享给大家,供广大互联网技能从业者学习和参考。文章包含2118字,纯文字阅读大概需要4分钟。
内容图文
![来帮我看看这个mysql语句该怎么写!](/upload/InfoBanner/zyjiaocheng/204/fd9def31777b4eba87f04092a9e48057.jpg)
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
回复讨论(解决方案)
slect name,add,num from test group by add order by add desc
slect name,add,num from test group by add order by add desc
大神!不行啊!每个选出num不是最大的
每个name最大的一行
select *
from test a
where not exists (select 1 from test where name=a.name and num>a.num);
第一问
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
第一问
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
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)
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)
太牛了!昨天我弄了半小时都弄不出来!,谢谢!你这方法我感觉最好!
问题二
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)
内容总结
以上是互联网集市为您收集整理的来帮我看看这个mysql语句该怎么写!全部内容,希望文章能够帮你解决来帮我看看这个mysql语句该怎么写!所遇到的程序开发问题。 如果觉得互联网集市技术教程内容还不错,欢迎将互联网集市网站推荐给程序员好友。
内容备注
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 gblab@vip.qq.com 举报,一经查实,本站将立刻删除。
内容手机端
扫描二维码推送至手机访问。