学科大于2的学生,按姓名排序资料

这个问题是很早的时候别人给我的,当时没答出来,后来就淡忘了。今天在几个群的热烈气氛下居然重提出来了。下面是数据库
id name course
6  d    chinese
5  c    english
3  a    math
4  b    english
7  c    math
8  e    chinese
9  a    english
10 e    sport
11 c    sport
12 e    english
15 b    sport
14 g    chinese
使用mysql语句:
SELECT * FROM tb WHERE name IN (SELECT name FROM tb GROUP BY name HAVING count( course ) >=2) ORDER BY name LIMIT 0 , 30;

第二种写法(由小芸提供)
select t.* from tb t where (select count(*) from tb where name = t.name)>=2 order by t.name LIMIT 0,30;

得到结果:
id  name  course
9   a     english
3   a     math
15  b     sport
4   b     english
7   c     math
11  c     sport
5   c     english
8   e     chinese
10  e     sport
12  e     english
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值