select * from SC order by Sno compute SUM(Grade) compute SUM(Grade),MAX(Grade),MIN(Grade) by Sno这句为什么语法错误
时间: 2024-03-25 14:37:03 浏览: 64
数据库-第四次实验报告-视图-t-sql语句.docx
非常抱歉,我之前的回答仍然有误。在 MySQL 中,正确的语法应该是使用 `WITH ROLLUP` 关键字来进行分组汇总计算。以下是修正后的 SQL 查询语句:
```
SELECT Sno, Grade
FROM SC
UNION ALL
SELECT Sno, SUM(Grade)
FROM SC
GROUP BY Sno WITH ROLLUP
HAVING Sno IS NOT NULL
UNION ALL
SELECT Sno, MAX(Grade)
FROM SC
GROUP BY Sno WITH ROLLUP
HAVING Sno IS NOT NULL
UNION ALL
SELECT Sno, MIN(Grade)
FROM SC
GROUP BY Sno WITH ROLLUP
HAVING Sno IS NOT NULL
ORDER BY Sno;
```
该查询语句使用了四个 `UNION ALL` 子句,分别查询原始数据、总成绩、最高成绩和最低成绩,并使用 `WITH ROLLUP` 关键字进行分组汇总计算。`HAVING Sno IS NOT NULL` 用于去除最后一行的 NULL 学号记录,只显示学生的汇总信息。
希望我的修正对您有帮助。
阅读全文