【发布时间】:2021-07-28 17:40:41
【问题描述】:
假设我有这个order 表,其中widgets 列是jsonb 数组:
| order_no | widgets |
|---|---|
| 50 | [a,b,c] |
| 51 | [d,e,f] |
select
order_no,
jsonb_array_elements_text(widgets) widget
from order;
| order_no | widget |
|---|---|
| 50 | a |
| 50 | b |
| 50 | c |
| 51 | d |
| 51 | e |
| 51 | f |
有没有办法让查询包含来自order 记录的每个 jsonb 数组元素的增量/计数器? (示例是从零开始的,但是从 1 开始查找...)
| order_no | widget | item_no |
|---|---|---|
| 50 | a | 0 |
| 50 | b | 1 |
| 50 | c | 2 |
| 51 | d | 0 |
| 51 | e | 1 |
| 51 | f | 2 |
【问题讨论】:
-
这就是
WITH ORDINALITY的用途
标签: postgresql jsonb