SQL常用技巧
SQL常用技巧 持续更新中
ORDER BY FIELD() 自定义排序逻辑
强制排序,自定义规则
SELECT * FROM t_student ORDER BY FIELD(ID,3,2,5,16,7) DESC

EXISTS
判断多表数据行是否存在,排除不存在行数据

从 student 表中筛选出那些存在于子查询结果中的行,也就是存在与之 name 不相等的对应行在 t_student 表中的行
GROUP CONCAT(expr) 组连接函数
按照指定规则对数据进行拼接,并可指定排序逻辑,以及连接字符串,默认为英文逗号连接。
select cname as '班级名称',GROUP_CONCAT(名字 ORDER BY cname SEPARATOR '--') as '班级人数明细' from (
SELECT st.SNAME as '名字',
cl.cname FROM student as st
LEFT JOIN class as cl on st.c_id=cl.cid
LEFT JOIN score as sc on sc.c_id=cl.cid and sc.s_id=st.sid
) d GROUP BY cname

本文是原创文章,采用 CC BY-NC-ND 4.0 协议,完整转载请注明来自 枫月Blog
评论
匿名评论
隐私政策
你无需删除空行,直接评论以获取最佳展示效果