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

占比

中等 10-groupby 分组聚合 groupbysharewindowjoin

计算每个品类的销售额,以及它占全部销售额的比例。

  • 每个订单行的销售额为 qty × unit_price(忽略折扣,也不区分订单状态)。
  • 通过 product_id 找到商品的品类,按品类汇总得到 sales。
  • share = sales / 全部品类 sales 之和,是 0 到 1 之间的浮点数,不做舍入。所有品类的 share 加起来等于 1。
  • 只输出有销售记录的品类。

输入

  • order_items(order_id, product_id, qty, unit_price, discount)
  • products(product_id, name, category, price, cost, launched_on)

输出

列为 category, sales, share,行顺序不限。

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

order_items shop/order_items
#order_idint64product_idint64qtyint64unit_pricefloat64discountfloat64
1 1001 22 3 298.8 null
2 1001 26 1 190.0 0.1
3 1002 6 2 254.2 0.0
4 1002 9 3 79.0 null
5 1002 19 5 305.1 0.2
6 1003 9 2 79.0 0.1
7 1003 28 2 47.4 0.0
8 1004 5 1 500.0 0.1
9 1005 3 1 89.0 0.0
10 1005 12 4 45.0 null
11 1006 13 1 19.9 0.1
12 1006 25 2 39.9 null
13 1007 27 1 12.5 null
14 1008 3 1 89.0 null
15 1008 16 1 29.9 null
16 1008 17 1 129.0 null
17 1009 2 1 49.9 0.0
18 1009 10 2 42.5 null
19 1009 20 1 84.5 0.05
20 1010 1 1 23.8 0.1
显示前 20 行,共 500 行
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,行顺序不限)

#categoryStringsalesFloat64shareFloat64
1 Electronics 45293.0 0.3821184784
2 Books 9873.6 0.08329951667
3 Home 7063.0 0.05958763635
4 Toys 29254.4 0.2468073834
5 Sports 17230.3 0.1453649795
6 Beauty 9817.0 0.08282200566
共 6 行