首页 > 数据库技术 > 详细

我这句mysql语句哪里错了呢? order by

时间:2020-01-30 10:23:31      阅读:81      评论:0      收藏:0      [点我收藏+]

做网上的mysql语句练习题,题目如下,

-- 13、查询和"01"号的同学学习的课程完全相同的其他同学的信息

我写的mysql语句如下,

SELECT student.`*` FROM student
LEFT JOIN score ON student.s_id = score.s_id
ORDER BY score.c_id
WHERE student.s_id <> ‘01‘
GROUP BY student.s_id
HAVING GROUP_CONCAT(score.c_id) = ‘01,02,03‘

报错如下,

技术分享图片

 

 

经过尝试,把这句排序的语句去掉就能正常运行了,ORDER BY score.c_id

为什么order by 语句不能用在那里呢?

走过路过,请大神们指点迷津...

 

后面发现 group_concat 函数本来就有排序的功能了,我想要的排序功能可以按照如下语句实现,

SELECT student.* FROM student
LEFT JOIN score ON student.s_id = score.s_id
WHERE student.s_id <> ‘01‘
GROUP BY student.s_id
HAVING GROUP_CONCAT(score.c_id ORDER BY score.c_id SEPARATOR ‘_‘) = ‘01_02_03‘

 

我这句mysql语句哪里错了呢? order by

原文:https://www.cnblogs.com/howmanyk/p/12242170.html

(0)
(0)
   
举报
评论 一句话评论(0
关于我们 - 联系我们 - 留言反馈 - 联系我们:wmxa8@hotmail.com
© 2014 bubuko.com 版权所有
打开技术之扣,分享程序人生!