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

行内多列运算

中等 04-expr 新列与条件表达式 horizontalgreatestNone

对行情表的每一行计算两个新列:

  • range = high − low:high、low 任一为 null 时,range 为 null。
  • max_oc:open 和 close 中较大的那个。忽略 null:只有一个为 null 时取另一个;两个都为 null 时 max_oc 为 null。

输入

  • prices(ticker, date, open, high, low, close, volume)

输出

列为 ticker, date, range, max_oc,每行一行,行顺序不限。

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

prices stocks/prices
#tickerstringdatedateopenfloat64highfloat64lowfloat64closefloat64volumeint64
1 AAPL 2026-06-01 189.58 190.97 188.93 190.66 7374313
2 AAPL 2026-06-02 191.71 195.6 191.42 194.12 1753601
3 AAPL 2026-06-03 194.95 196.13 193.04 193.67 2817746
4 AAPL 2026-06-04 194.03 194.88 187.39 189.08 2783341
5 AAPL 2026-06-05 189.72 193.66 189.02 193.14 8942829
6 AAPL 2026-06-08 192.9 193.62 188.21 188.64 1357786
7 AAPL 2026-06-09 188.63 189.8 185.9 188.98 5482117
8 AAPL 2026-06-10 189.78 191.79 188.78 191.45 1430484
9 AAPL 2026-06-11 191.12 193.18 190.85 192.68 7642427
10 AAPL 2026-06-12 191.04 193.87 190.02 193.37 2476587
11 AAPL 2026-06-15 193.53 195.45 193.24 193.68 1680820
12 AAPL 2026-06-16 194.69 195.53 192.04 193.09 4196575
13 AAPL 2026-06-17 192.64 196.25 191.03 195.73 1464728
14 AAPL 2026-06-18 195.19 196.94 192.23 192.74 2059908
15 AAPL 2026-06-19 192.02 196.01 191.78 195.55 8247165
16 AAPL 2026-06-22 195.28 196.64 188.45 null 2043265
17 AAPL 2026-06-23 190.64 191.82 190.11 191.55 2220638
18 AAPL 2026-06-24 192.95 193.43 189.2 190.21 2962146
19 AAPL 2026-06-25 190.43 190.7 188.71 189.26 1607246
20 AAPL 2026-06-26 189.15 189.58 188.4 189.15 4162289
显示前 20 行,共 296 行

期望输出 (case base,行顺序不限)

#tickerStringdateDaterangeFloat64max_ocFloat64
1 AAPL 2026-06-01 2.04 190.66
2 AAPL 2026-06-02 4.18 194.12
3 AAPL 2026-06-03 3.09 194.95
4 AAPL 2026-06-04 7.49 194.03
5 AAPL 2026-06-05 4.64 193.14
6 AAPL 2026-06-08 5.41 192.9
7 AAPL 2026-06-09 3.9 188.98
8 AAPL 2026-06-10 3.01 191.45
9 AAPL 2026-06-11 2.33 192.68
10 AAPL 2026-06-12 3.85 193.37
11 AAPL 2026-06-15 2.21 193.68
12 AAPL 2026-06-16 3.49 194.69
13 AAPL 2026-06-17 5.22 195.73
14 AAPL 2026-06-18 4.71 195.19
15 AAPL 2026-06-19 4.23 195.55
16 AAPL 2026-06-22 8.19 195.28
17 AAPL 2026-06-23 1.71 191.55
18 AAPL 2026-06-24 4.23 192.95
19 AAPL 2026-06-25 1.99 190.43
20 AAPL 2026-06-26 1.18 189.15
21 AAPL 2026-06-29 4.48 191.13
22 AAPL 2026-06-30 1.51 190.66
23 AAPL 2026-07-01 3.64 191.44
24 AAPL 2026-07-02 2.41 191.37
25 AAPL 2026-07-06 4.77 190.45
26 AAPL 2026-07-07 4.25 187.95
27 AAPL 2026-07-08 2.42 184.84
28 AAPL 2026-07-09 5.28 190.07
29 AAPL 2026-07-10 3.51 190.28
30 AAPL 2026-07-13 1.54 189.91
31 AAPL 2026-07-14 1.37 189.84
32 AAPL 2026-07-15 5.81 194.18
33 AAPL 2026-07-16 3.64 195.48
34 AAPL 2026-07-17 4.15 197.47
35 AAPL 2026-07-20 4.34 195.56
36 AAPL 2026-07-21 5.07 194.75
37 AAPL 2026-07-22 4.15 192.64
38 AAPL 2026-07-23 5.17 192.76
39 AAPL 2026-07-24 1.43 187.93
40 AAPL 2026-07-27 4.2 188.84
41 AAPL 2026-07-28 2.56 190.18
42 AAPL 2026-07-29 3.52 193.39
43 AAPL 2026-07-30 5.06 194.19
44 AAPL 2026-07-31 3.38 193.09
45 AAPL 2026-08-03 6.44 192.94
46 AAPL 2026-08-04 4.44 192.44
47 AAPL 2026-08-05 2.41 186.13
48 AAPL 2026-08-06 1.4 183.66
49 AAPL 2026-08-07 1.37 184.06
50 AAPL 2026-08-10 1.46 183.86
显示前 50 行,共 296 行