初学MYSQL 遇到一个问题不能解决 为什么执行嵌套查询的时候,会报错

初学MYSQL 遇到一个问题不能解决 为什么执行嵌套查询的时候,会报错

每一个派生出来的表都必须有一个自己的别名。以及COUNT()函数不是这么用的:关于mysql中的count()函数

SELECT s.RANK, COUNT(s.RANK)
FROM (SELECT
CASE WHEN score>=80 THEN 'A'
WHEN score>=60 THEN 'B'
WHEN score>=40 THEN 'C'
WHEN score>=20 THEN 'D'
WHEN score>=0 THEN 'E'
END AS 'RANK'
FROM stc) AS s
GROUP BY s.RANK;

这个子查询肯定会报错的呀,你的子查询返回只有一列的数据,而字段列表那么多,并且都是不存在的字段,怎么查询呢?

每一个派生出来的表都必须有一个自己的别名。以及COUNT()函数不是这么用的:[关于mysql中的count()函数](https://www.cnblogs.com/-flq/p/10302965.html)

SELECT s.RANK, COUNT(s.RANK)
FROM (SELECT
CASE WHEN score>=80 THEN 'A'
WHEN score>=60 THEN 'B'
WHEN score>=40 THEN 'C'
WHEN score>=20 THEN 'D'
WHEN score>=0 THEN 'E'
END AS 'RANK'
FROM stc) AS s
GROUP BY s.RANK;