123456789101112131415161718192021222324252627282930313233343536373839404142434445 |
- #第十八章、练习题
- USE dbtest18;
- #1、创建students数据表,如下:
- CREATE TABLE students(
- id INT PRIMARY KEY AUTO_INCREMENT,
- student VARCHAR(15),
- points TINYINT
- );
- #2. 向表中添加数据如下
- INSERT INTO students(student,points)
- VALUES
- ('张三',89),
- ('李四',77),
- ('王五',88),
- ('赵六',90),
- ('孙七',90),
- ('周八',88);
- #3. 分别使用RANK()、DENSE_RANK() 和 ROW_NUMBER()函数对学生成绩降序排列情况进行显示
- #方式一:
- SELECT
- ROW_NUMBER() OVER (ORDER BY points DESC) AS "排序1",
- RANK() OVER (ORDER BY points DESC) AS "排序2",
- DENSE_RANK() OVER (ORDER BY points DESC) AS "排序3",
- student,points
- FROM students;
- #方式二
- SELECT
- ROW_NUMBER() OVER w AS "排序1",
- RANK() OVER w AS "排序2",
- DENSE_RANK() OVER w AS "排序3",
- student,points
- FROM students WINDOW w AS (ORDER BY points DESC);
|