create table

前沿拓展:


本文分享自华为云社区《【云驻共创】天天写SQL,你遇到了哪些神奇的特性?-云社区-华为云》,作者: 龙哥手记 。

不要歪了,我这里说特性它不是bug,而是故意正的机制或语法,你有可能天天写语句或许还没发现原来还能这样用,没关系我们一起学下涨姿势。

一 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班');

我想统计各个班(班级号、班级名)一个有多少人、以及最大的学号,我们该怎么写这个查询 SQL ?我想大家用脚都写得出来

SELECT cno,cname,count(sno),MAX(sno)
FROM tbl_student_class
GROUP BY cno,cname;

可是有人会想了,

华为云博客_大数据博客_AI博客_云计算博客_开发者中心-华为云

拓展知识:

原创文章,作者:九贤生活小编,如若转载,请注明出处:http://www.wangguangwei.com/99813.html