神奇的 SQL 之层级 → 为什么 GROUP BY 之后不能直接引用原表中的列

神奇的 SQL 之层级 → 为什么 GROUP BY 之后不能直接引用原表中的列

感觉不妙呀,弟弟舔它! 不该舔的,舔到怀疑人生了......

GROUP BY 后 SELECT 列的限制

  标准 SQL 规定,在对表进行聚合查询的时候,只能在 SELECT 子句中写下面 3 种内容:通过 GROUP BY 子句指定的聚合键、聚合函数(SUM 、AVG 等)、常量。我们来看个例子

  我们有 学生班级表(tbl_student_class) 以及 数据如下 :

DROP TABLE IF EXISTS tbl_student_class; CREATE TABLE tbl_student_class ( id int(8) unsigned NOT NULL AUTO_INCREMENT COMMENT '自增主键', sno varchar(12) NOT NULL COMMENT '学号', cno varchar(5) NOT NULL COMMENT '班级号', cname varchar(20) NOT NULL COMMENT '班级名', PRIMARY KEY (id) ) COMMENT='学生班级表'; -- ---------------------------- -- Records of tbl_student_class -- ---------------------------- INSERT INTO tbl_student_class VALUES ('1', '20190607001', '0607', '影视7班'); INSERT INTO tbl_student_class VALUES ('2', '20190607002', '0607', '影视7班'); INSERT INTO tbl_student_class VALUES ('3', '20190608003', '0608', '影视8班'); INSERT INTO tbl_student_class VALUES ('4', '20190608004', '0608', '影视8班'); INSERT INTO tbl_student_class VALUES ('5', '20190609005', '0609', '影视9班'); INSERT INTO tbl_student_class VALUES ('6', '20190609006', '0609', '影视9班');

内容版权声明:除非注明,否则皆为本站原创文章。

转载注明出处:https://www.heiqu.com/wpsdjj.html