mysql嵌套选择问题

5n0oy7gb  于 2021-06-15  发布在  Mysql
关注(0)|答案(1)|浏览(276)

我有一个嵌套选择的问题,我得到以下错误消息:“选择是无效的,在这个位置,这个服务器版本期待'('与'”

SELECT group_id, count (student_id) 
FROM
(
SELECT student.group_id, student.student_id, AVG(mark)
    FROM
    student, group, result
    WHERE
        student.student_id = result.student_id 
        and
        student.group_id = group.group_id
        GROUP BY student.group_id, student.student_id
) AS ”p”
p.AVG > 4
GROUP BY group_id
ORDER BY count (student_id) DESC
LIMIT 1;

我不知道该怎么修。请帮帮我!
提前谢谢你的回答

zujrkrfu

zujrkrfu1#

首先我要解决两件事: group 是一个保留字。如果您使用它作为表名(尽量不要),您需要引用它。
表达式的名称 AVG(mark) 作为 avg_mark .
添加 WHERE 条款。
尝试以下查询:

SELECT group_id, count (student_id) 
FROM
(
SELECT student.group_id, student.student_id, AVG(mark) as avg_mark
    FROM
    student, `group`, result
    WHERE
        student.student_id = result.student_id 
        and
        student.group_id = `group`.group_id
        GROUP BY student.group_id, student.student_id
) p
WHERE avg_mark > 4
GROUP BY group_id
ORDER BY count (student_id) DESC
LIMIT 1;

相关问题