【发布时间】:2020-11-30 11:15:27
【问题描述】:
有一张数据表
ID CLIENT_ID TYPE VALUE DATE
-----------------------------------------------------------
1 101 original 1.2 2020-03-01T13:14:00
2 101 additional 2.7 2020-03-02T13:14:00
3 101 additional 2.65 2020-03-03T13:14:00
4 101 original 1.8 2020-03-04T13:14:00
5 102 original 1.65 2020-04-05T13:14:00
6 102 additional 2.76 2020-04-06T13:14:00
7 102 additional 2.9 2020-04-07T13:14:00
8 102 original 1.1 2020-04-08T13:14:00
9 102 additional 2.65 2020-05-09T13:14:00
10 102 original 1.36 2020-05-10T13:14:00
11 102 original 1.48 2020-05-11T13:14:00
12 102 additional 2.87 2020-05-12T13:14:00
13 101 original 1.69 2020-06-13T13:14:00
14 101 additional 2.95 2020-06-14T13:14:00
15 101 additional 2.87 2020-06-15T13:14:00
16 101 original 1.23 2020-06-16T13:14:00
我想按 CLIENT_ID、TYPE 和 DATE 检索最近的 2 条记录。
ID CLIENT_ID TYPE VALUE DATE
-----------------------------------------------------------
15 101 additional 2.87 2020-06-15T13:14:00
14 101 additional 2.95 2020-06-14T13:14:00
16 101 original 1.23 2020-06-16T13:14:00
13 101 original 1.69 2020-06-13T13:14:00
12 102 additional 2.87 2020-05-12T13:14:00
9 102 additional 2.65 2020-05-09T13:14:00
11 102 original 1.48 2020-05-11T13:14:00
10 102 original 1.36 2020-05-10T13:14:00
或聚合
ID CLIENT_ID TYPE VALUE DATE VALUE_2ND DATE_2ND
----------------------------------------------------------------------------------------------
15 101 additional 2.87 2020-06-15T13:14:00 2.95 2020-06-14T13:14:00
16 101 original 1.23 2020-06-16T13:14:00 1.69 2020-06-13T13:14:00
12 102 additional 2.87 2020-05-12T13:14:00 2.65 2020-05-09T13:14:00
11 102 original 1.48 2020-05-11T13:14:00 1.36 2020-05-10T13:14:00
很遗憾,Spanner 不支持窗口函数。
这怎么可能?
【问题讨论】:
标签: sql google-cloud-platform greatest-n-per-group google-cloud-spanner