t3 insert into语句 数据库insert into语句

INSERT INTO 语句可以用两种方式编写 。第一种:INSERT INTO table_name (column1, column2, column3, ...)VALUES (value1, value2, value3, ...);第二种:INSERT INTO table_nameVALUES (value1, value2, value3, ...);

t3 insert into语句 数据库insert into语句

文章插图
<窗口函数>over(partitionby(用于分组的列名)orderby(用于排序的列名))
新建班级表
【t3 insert into语句 数据库insert into语句】insertinto班级表(学号,班级,成绩)
values('0001','1','86');insertinto班级表(学号,班级,成绩)
values('0002','1','95');insertinto班级表(学号,班级,成绩)
values('0003','2','89');insertinto班级表(学号,班级,成绩)
values('0004','1','83');insertinto班级表(学号,班级,成绩)
values('0005','2','86');insertinto班级表(学号,班级,成绩)
values('0006','3','92');insertinto班级表(学号,班级,成绩)
values('0007','3','86');insertinto班级表(学号,班级,成绩)
values('0008','1','88');
t3 insert into语句 数据库insert into语句

文章插图
以上结果,班级 1 中,成绩 “95” 排在第一位,成绩 “83” 排在第 4 位 。
对 SQL 语句解释如下:rank 是排序函数,要求是 “每个班级内按成绩排名”
每个班级内:按班级分组,partition by 用来对表分组,在该案例中,指定了按 “班级” 分组
按成绩排名:order by 子句的功能是对分组后的结果进行排序,默认按升序 ( asc ) 排列 。上述案例中 order by 成绩 desc,即按成绩降序
窗口函数具备了 group by 子句分组的功能和 order by 子句排序的功能,为什么还要用窗口函数?
t3 insert into语句 数据库insert into语句

文章插图
group by 分组汇总后改变了表的行数,一行只有一个类别
partition by 和 rank 函数不会减少原表中的行数
select班级,count(学号)from班级表groupby班级;
Tags:


    推荐阅读