假设我有一个如下表:
\d events
Table "public.events
Column | Type | Modifiers
------------+--------------------------+-----------
my_id | bigint |
tstamp | timestamp with time zone |
event_type | text |
使用示例数据:
my_id | tstamp | event_type
------------+----------------------------+------------
1111111111 | 2015-11-14 09:02:46.185+02 | A
1111111111 | 2015-11-14 17:32:58+02 | B
1111111111 | 2015-11-28 15:06:30.895+02 | A
1111111111 | 2015-12-05 15:22:31.582+02 | A
2222222222 | 2015-11-17 15:06:07.481+02 | A
2222222222 | 2015-11-17 20:30:03+02 | B
2222222222 | 2015-12-04 15:36:31.532+02 | A
3333333333 | 2015-11-20 15:06:01.621+02 | A
3333333333 | 2015-11-20 19:15:09.908+02 | A
3333333333 | 2015-11-21 15:06:01.621+02 | A
3333333333 | 2015-11-26 09:07:45.134+02 | B
3333333333 | 2015-11-27 14:39:31.657+02 | A
4444444444 | 2015-12-05 10:21:21.441+02 | A
4444444444 | 2015-12-05 20:00:40.772+02 | B
我想在事件 B 之前按 my_id 计算所有事件 A。
预期的输出将是:
my_id | events_before_B
-----------+-----------------
1111111111 | 1
2222222222 | 2
3333333333 | 3
4444444444 | 1
Postgres 9.4 版