SQL Row_number()函数用法小结:窗口函数助力数据处理

Row_number()函数用法小结

在 SQL 数据库中,Row_number() 函数是一种常用的窗口函数,用于为结果集中的行分配唯一的行号。


Row_number() 函数的语法

Row_number() 函数的基本语法如下:

SELECT Row_number() OVER (PARTITION BY column ORDER BY sort_column) AS row_num, column1, column2, ...
FROM table_name;


该语法包含以下几个部分:

  • PARTITION BY: 可选,用于将结果集分成不同的分区。如果未指定,则整个结果集作为一个分区。

  • ORDER BY: 可选,用于对每个分区内的行排序。

  • AS row_num: 必需,用于指定分配的行号列的别名。


案例演示

让我们通过一个简单的案例来理解 Row_number() 函数的使用:

CREATE TABLE students (
  id INT,
  name VARCHAR(50),
  grade VARCHAR(10)
);

INSERT INTO students (id, name, grade)
VALUES (1, 'Alice', 'A'),
       (2, 'Bob', 'B'),
       (3, 'Charlie', 'A'),
       (4, 'David', 'B');


现在,我们想要为学生表中的每一行分配一个行号:

SELECT Row_number() OVER (ORDER BY id) AS row_num, name, grade
FROM students;


执行上述查询后,将得到以下结果:

+--------+---------+-------+
| row_num |  name   | grade |
+--------+---------+-------+
|    1    |  Alice  |   A   |
|    2    |   Bob   |   B   |
|    3    | Charlie |   A   |
|    4    |  David  |   B   |
+--------+---------+-------+

总结

通过使用 Row_number() 函数,我们可以为结果集中的每一行分配一个唯一的行号。这对于数据处理和排序非常有用。

希望本文能帮助您理解并正确使用 Row_number() 函数。

猿教程
请先登录后发表评论
  • 最新评论
  • 总共0条评论