0
点赞
收藏
分享

微信扫一扫

Error Code: 1111. Invalid use of group function

艾米吖 2022-02-08 阅读 52
sql

我要选择参加了所有科目的同学信息,这样显示是不对的,因为后面子句中不能直接用and, group by 之后如果要对其中的量进行限定需要用having而不是group by.

SELECT 
    s.*
FROM
    student s
        JOIN
    sc ON sc.sid = sc.sid
        AND s.sid IN (SELECT 
            sid
        FROM
            sc
        GROUP BY sid
       AND COUNT(cid) = (SELECT 
                COUNT(cid)
            FROM
                course))
GROUP BY sid;

下面这个

SELECT 
    s.*
FROM
    student s
        JOIN
    sc ON sc.sid = sc.sid
        AND s.sid IN (SELECT 
            sid
        FROM
            sc
        GROUP BY sid
        HAVING COUNT(cid) = (SELECT 
                COUNT(cid)
            FROM
                course))
GROUP BY sid;

举报

相关推荐

0 条评论