-- 学生表
CREATE TABLE XS (
XSDM NUMBER(10) PRIMARY KEY,
XSMC VARCHAR(30)
);
-- 成绩表
CREATE TABLE CJ (
XSDM NUMBER(10), --学生代码
XKDM NUMBER(10), --学科代码
CJ NUMBER(3)--成绩
);
语句:
SELECT
CJ.XSDM,
XS.XSMC,
sum(CJ.CJ)
FROM
XS
LEFT JOIN CJ ON XS.XSDM = CJ.XSDM
GROUP BY CJ.XSDM;
报错:[42000][979] ORA-00979: 不是 GROUP BY 表达式
group by 后面还需要 XS.XSMC
首先 你这个数据库的命名规则就很操蛋,特么用拼音。好好看看数据库命名规则,学好基础 先多看看入门级的教程。
进行group by 分组时,select 后面的字段只能是你group by 后面的字段。如果不是,则需要配合使用聚合函数
如:student表结构为sno:学生编号 sname:学生姓名 grades:学生成绩
select
sno,sname,sum(grades)
from
student
group by sno,sname
把select语句中的CJ.XSDM换成学生表的