df-drills pandas · Polars · DuckDB SQL · DuckDB Relational 题目列表 登录

加行号

简单 04-expr 新列与条件表达式 row-numberindexsort

把商品按 product_id 升序排好,并新增行号列 rn:第一行为 1,之后依次加 1。

  • 输入表的行不一定按 product_id 排好(第二个 case 是乱序的,而且 product_id 不连续)。
  • product_id 唯一,不为 null。

输入

  • products(product_id, name, category, price, cost, launched_on)

输出

列为 rn, product_id, name,行按 product_id 升序(也就是按 rn 升序)。

输入表 (case base,共 2 个 case:base、unsorted)

products shop/products
#product_idint64namestringcategorystringpricefloat64costfloat64launched_ondate
1 1 Wireless Mouse Electronics 25.0 16.77 2025-05-07
2 2 USB-C Hub Electronics 49.9 34.17 2025-07-27
3 3 Bluetooth Speaker Electronics 89.0 61.47 2025-02-10
4 4 Mechanical Keyboard Electronics 199.0 105.48 2024-09-19
5 5 4K Monitor Electronics 500.0 282.38 2024-07-10
6 6 Noise-cancel Headphones Electronics 299.0 211.57 2025-01-14
7 7 Python Cookbook Books 59.0 30.08 2025-09-15
8 8 SQL Pocket Guide Books 39.9 22.14 2025-01-20
9 9 数据分析实战 Books 79.0 40.83 2024-12-15
10 10 Clean Code Books 50.0 28.48 2025-03-13
11 11 统计学习方法 Books 99.0 70.22 2025-03-13
12 12 Desk Lamp Home 45.0 24.99 2025-11-04
13 13 Ceramic Mug Home 19.9 11.34 2025-12-02
14 14 Throw Pillow Home 35.0 19.23 2024-06-29
15 15 Wall Clock Home 99.0 47.98 2025-02-23
16 16 Storage Box Home 29.9 15.06 2025-02-27
17 17 Puzzle 1000pc Toys 129.0 59.53 2025-08-19
18 18 Building Blocks Toys 199.0 110.19 2025-04-18
19 19 RC Car Toys 359.0 208.55 2025-11-06
20 20 Plush Panda Toys 89.0 43.14 2026-01-12
显示前 20 行,共 30 行

期望输出 (case base,行顺序要一致)

#rnInt64product_idInt64nameString
1 1 1 Wireless Mouse
2 2 2 USB-C Hub
3 3 3 Bluetooth Speaker
4 4 4 Mechanical Keyboard
5 5 5 4K Monitor
6 6 6 Noise-cancel Headphones
7 7 7 Python Cookbook
8 8 8 SQL Pocket Guide
9 9 9 数据分析实战
10 10 10 Clean Code
11 11 11 统计学习方法
12 12 12 Desk Lamp
13 13 13 Ceramic Mug
14 14 14 Throw Pillow
15 15 15 Wall Clock
16 16 16 Storage Box
17 17 17 Puzzle 1000pc
18 18 18 Building Blocks
19 19 19 RC Car
20 20 20 Plush Panda
21 21 21 Yoga Mat
22 22 22 Dumbbell Set
23 23 23 Running Shoes
24 24 24 Jump Rope
25 25 25 Water Bottle
26 26 26 Face Cream
27 27 27 Lip Balm
28 28 28 Shampoo
29 29 29 Sunscreen
30 30 30 Hand Lotion
共 30 行