添加链接
link之家
链接快照平台
  • 输入网页链接,自动生成快照
  • 标签化管理网页链接

sqlite row_number() over

SQLite 的 row_number() 函数可以用来给查询结果的每一行分配一个唯一的行号。这个行号是根据一些列按照特定的顺序排序后计算出来的。

例如,如果你想要给某个表中所有记录分配一个从 1 开始的行号,你可以使用如下的 SQL 语句:

SELECT row_number() OVER (ORDER BY id) as row_number, *
FROM mytable;

其中,OVER 关键字后面的 ORDER BY id 表示根据 id 字段升序排序。所以,上面的语句会给每一行分配一个从 1 开始的行号,并且每一行的行号都是按照 id 字段升序排序后计算出来的。

你也可以使用 PARTITION BY 子句来将行分成多个组,然后在每个组内计算行号。例如,如果你想要给每个用户分配一个从 1 开始的行号,你可以使用如下的 SQL 语句:

SELECT row_number() OVER (PARTITION BY user_id ORDER BY id) as row_number, *
FROM mytable;

上面的语句会将行按照 user_id 字段分成多个组,然后在每个组内根据 id 字段升序排序,并为每一行分配一个从 1 开始的行号。

注意,在 SQLite 中,row_number() 函数的实现和其他数据库系统可能

  •