选出男生和女生前三名的信息
来源:互联网 发布:日向日足 知乎 编辑:程序博客网 时间:2024/04/30 12:01
接触的业务多了,写sql也慢慢熟悉起来。最近见到一个题:用一条sql语句选出一个班男生和女生前三名的信息。
sql如下:
</pre><pre name="code" class="html">mysql建表:create table students( id int(10) NOT NULL AUTO_INCREMENT, name varchar(20), sex varchar(10), fenshu int(5), primary key (id) )engine=innodb default charset=utf8 auto_increment=1;insert into students(name,sex,fenshu)values('111','男',99);insert into students(name,sex,fenshu)values('222','男',98);insert into students(name,sex,fenshu)values('333','男',97);insert into students(name,sex,fenshu)values('444','男',96);insert into students(name,sex,fenshu)values('555','男',95);insert into students(name,sex,fenshu)values('666','男',99);insert into students(name,sex,fenshu)values('777','男',99);insert into students(name,sex,fenshu)values('888','男',99);insert into students(name,sex,fenshu)values('011','女',99);insert into students(name,sex,fenshu)values('022','女',98);insert into students(name,sex,fenshu)values('033','女',97);insert into students(name,sex,fenshu)values('044','女',96);insert into students(name,sex,fenshu)values('055','女',95);insert into students(name,sex,fenshu)values('066','女',99);insert into students(name,sex,fenshu)values('077','女',99);insert into students(name,sex,fenshu)values('088','女',99);
(select * from students where sex = '男' order by fenshu desc limit 3 ) union all(select * from students where sex = '女' order by fenshu desc limit 3);
结果:
1111男9913888男9912777男996011女9916088女9915077女99
第二种写法,算并列:
(select s.* from students s, (select T1.fenshu from (select count(*),fenshu from students where sex = '男' group by(fenshu) order by fenshu desc limit 3)T1 )T11 where s.fenshu in(T11.fenshu) and s.sex = '男' order by s.fenshu desc) union all(select s1.* from students s1, (select T2.fenshu from (select count(*),fenshu from students where sex = '女' group by(fenshu) order by fenshu desc limit 3)T2 )T22 where s1.fenshu in(T22.fenshu) and s1.sex = '女' order by s1.fenshu desc) ;
结果:
1111男992222男983333男9711666男9912777男9913888男996011女997022女988033女9714066女9915077女9916088女99
0 0
- 选出男生和女生前三名的信息
- 男生和女生的区别
- 女生的痛,男生不懂。男生的痛,女生不懂
- 男生和女生的十个瞬间 (温馨啊)【转载】
- 女生做完头发和男生做完头发的区别
- Nielsen调查显示:女生发信息数量是男生的1.5倍
- 男生和女生为什么会不一样呢?------
- 查询男生和女生成绩前三
- 一女生写的"如果我是男生"
- 【笑话】男生追女生的数学模型
- 男生给女生的N条提醒!
- 男生给女生的N条提醒!
- 一位女生的说话!(男生不看可惜!!!)
- 十一种值得女生交往的男生
- 女生最想泡的十种男生
- 男生心疼女生的12种方式
- 男生容易误解女生的几个行为
- 女生最想泡的十二种男生!
- JavaScript之一:简介和使用
- 关于VS 中添加OpenCV 使用配置问题(版本号原因)
- c++编程常犯错误
- ios更改UITabBarController背景以及选中背景图片的方法 以及隐藏tabbar
- android 小贴士
- 选出男生和女生前三名的信息
- UITabbar
- oracle 触发器:条件判断自动执行某些任务,不仅仅用于自增id
- 多文档中给对话框注册类
- [译]Google C++编程风格指南(六)
- hdu 1040 As Easy As A+B 堆排序
- 自定义组件及其属性
- TCP/IP协议
- IEEE标准的演进