SQL语句分组排序,多表关联排序总结几种常见的方法:
案例一:
在查询结果中按人数降序排列,若人数相同,则按课程号升序排列?
分析:单个表内的多个字段排序,一般可以直接用逗号分割实现。
select * from tableA order by col1 desc,col2 asc;--先按col1降序,相同则按col2 升序
案例二:
T-SQL查询班级信息:班级人数+班级信息,按人数多少排序?
--创建测试数据
create table stu(sid int primary key identity(1,1),sname varchar(50),sage int,scid int foreign key referencesclass(cid))create table class(cid int primary key identity(1,1),code varchar(50),cname varchar(50),cgrade varchar(50))insert into stu values('张三',19,1)insert into stu values('李四',20,2)insert into stu values('王五',21,2)insert into class values('c001','1','一年级')insert into class values('c002','2','一年级')--按人数分组排序查询
selectclass.cgrade,
class.code,
class.cname,count(stu.sid) as人数fromclassJOINstuON