添加链接
link之家
链接快照平台
  • 输入网页链接,自动生成快照
  • 标签化管理网页链接
相关文章推荐
气宇轩昂的蜡烛  ·  git gc - 知乎·  1 年前    · 

sqlite row_number partition by

SQLite 中的 row_number() 函数可以为每一行生成一个唯一的行号。这个函数可以接受一个 partition by 子句,用于将行分组,为每组行生成独立的行号。

例如,如果有一张名为 orders 的表,包含订单信息,其中有两个字段: customer_id order_date ,你可以使用如下查询来生成每个客户的每个订单的行号:

SELECT customer_id, order_date,
       row_number() OVER (PARTITION BY customer_id ORDER BY order_date) AS row_num
FROM orders;

这个查询会生成一个新的列 row_num,为每个客户的每个订单生成一个独立的行号。例如,如果客户 A 在 2021 年 1 月 1 日和 2021 年 1 月 2 日分别下了两个订单,那么它们的行号分别为 1 和 2。如果客户 B 在 2021 年 1 月 3 日下了一个订单,那么它的行号为 1。

注意,row_number() 函数需要在一个 over() 函数中使用,并且可以接受一个 order by 子句来指定行号生成的顺序。

  •