前沿拓展:
本文分享自華為云社區(qū)《【云駐共創(chuàng)】天天寫SQL,你遇到了哪些神奇的特性?-云社區(qū)-華為云》,作者: 龍哥手記 。
不要歪了,我這里說特性它不是bug,而是故意正的機(jī)制或語法,你有可能天天寫語句或許還沒發(fā)現(xiàn)原來還能這樣用,沒關(guān)系我們一起學(xué)下漲姿勢。
一 SQL的第一個(gè)神奇特性
日常開發(fā)我們經(jīng)常會對表進(jìn)行聚合查詢**作,但只能在 SELECT 子句中寫下面 3 種內(nèi)容:通過GROUP BY子句指定的聚合鍵、聚合函數(shù)(SUM 、AVG 等)、常量,不懂沒關(guān)系我們來看個(gè)例子
聽我解釋
有學(xué)生班級表(tbl_student_class) 以及 數(shù)據(jù)如下
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 '學(xué)號',
cno varchar(5) NOT NULL COMMENT '班級號',
cname varchar(20) NOT NULL COMMENT '班級名',
PRIMARY KEY (id)
) COMMENT='學(xué)生班級表';
— —————————-
— 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班');
我想統(tǒng)計(jì)各個(gè)班(班級號、班級名)一個(gè)有多少人、以及最大的學(xué)號,我們該怎么寫這個(gè)查詢 SQL ?我想大家用腳都寫得出來
SELECT cno,cname,count(sno),MAX(sno)
FROM tbl_student_class
GROUP BY cno,cname;
可是有人會想了,
華為云博客_大數(shù)據(jù)博客_AI博客_云計(jì)算博客_開發(fā)者中心-華為云
拓展知識:
原創(chuàng)文章,作者:九賢生活小編,如若轉(zhuǎn)載,請注明出處:http://xiesong.cn/99813.html