星空网 > 软件开发 > 数据库

SQL语句分组排序,多表关联排序

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 references class(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','一年级')-- 按人数分组排序查询select  class.cgrade, class.code, class.cname, count(stu.sid) as 人数 from  class JOIN stu  ON (class.cid = stu.scid)group by  class.cgrade, class.code, class.cnameorder by  count(stu.sid) desc

 

案例三:

SQL 查询统计每个用户组发文章数量并按数量排序?

有三个表 文章表 记录文章标题、内容、发布人 发布时间,用户表 记录用户组id 用户名 密码,用户组表 记录id 用户组名称

问题是 现在要查询每个用户组发布文章的数量,并且按着数量排序。不知道怎么搞呀 大神们
还要查询 每个月中发文排行榜....

SELECT COUNT(1) AS 数量, c.用户组名称 FROM 文件表 a INNER JOIN 用户表 b ON a.发布人 = b.用户名 INNER JOIN 用户组表 c ON b.用户组id = c.id GROUP BY c.id, c.用户组名称 ORDER BY 数量

 




原标题:SQL语句分组排序,多表关联排序

关键词:sql

sql
*特别声明:以上内容来自于网络收集,著作权属原作者所有,如有侵权,请联系我们: admin#shaoqun.com (#换成@)。

巴生海运费用:https://www.goluckyvip.com/tag/28690.html
巴塔哥尼亚 patgonia :https://www.goluckyvip.com/tag/28691.html
巴通供应链:https://www.goluckyvip.com/tag/28692.html
巴西fba:https://www.goluckyvip.com/tag/28693.html
巴西fba头程价格:https://www.goluckyvip.com/tag/28694.html
巴西达 Sinostar :https://www.goluckyvip.com/tag/28695.html
去日本入住酒店,东西随意用却有一个特殊“要:https://www.vstour.cn/a/411241.html
中国有哪些著名的酒店品牌。:https://www.vstour.cn/a/411242.html
相关文章
我的浏览记录
最新相关资讯
海外公司注册 | 跨境电商服务平台 | 深圳旅行社 | 东南亚物流