Oracle数据库查询,分组查询显示数据,请教

已知数据表:SQL>createtablestudent(2idnumberprimarykey,--id主键3namevarchar2(20),--姓名4classnu... 已知数据表:
SQL> create table student(
2 id number primary key, --id主键
3 name varchar2(20), --姓名
4 classnumber number, --班级号
5 age number --学生年龄
6 );
表中有数据;
如何实现查询结果:根据班级号分组查询出来学生信息,并且每组中查询出来的学生信息按照学生的年龄降序排列

例如:查询结果是:
班级号 年龄 ……
001 26
001 25
001 22
002 29
002 21
请教在Oracle中实现此结果的SQL语句写法
还有按照班级分组显示,分别是班级和所对应班级学生的年龄降序排列,这个结果是按组显示的了,SQL该怎么写呢,请教
展开
 我来答
badkano
推荐于2017-09-27 · 知道合伙人体育行家
badkano
知道合伙人体育行家
采纳数:144777 获赞数:885360
团长

向TA提问 私信TA
展开全部
select * from student order by classnumber asc,age desc

按班级号正序就是asc,这个asc可以省略(排序时默认就是正序)

再按age排倒序就用desc

 

order by后的按前后顺序也是分主次的

百度网友862b31c
2014-02-18 · TA获得超过1529个赞
知道小有建树答主
回答量:1045
采纳率:100%
帮助的人:812万
展开全部
你的结果没有分组,只是按班级号来排序而已。很简单的:
select classnumber, age, name, id
from studen
order by age
更多追问追答
追问
以上SQL我知道。还有按照班级分组显示,分别是班级和所对应班级学生的年龄降序排列,这个结果是按组显示的了,SQL该怎么写呢,请教
追答
还是没太明白你的分组,分组是使用group by,但是你要求的结果是不需要分组的啊,只要排序就可以了。不过是排序的顺序而已。
select classnumber, age, name, id
from studen
order by classnumber, age desc
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
官方留学咨询
2014-02-18
知道答主
回答量:2
采纳率:0%
帮助的人:2.4万
展开全部
select classnumber 班级号,age 年龄 from student order by classnumber;
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
收起 更多回答(1)
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式