【发布时间】:2021-12-06 19:22:45
【问题描述】:
假设我们有一个表,其中 data 列存储了一个对象数组。
┌────┬───────────────────────────────────────────────────────────────────────┐
│ id │ data │
├────┼───────────────────────────────────────────────────────────────────────┤
│ 1 │ [{"m2": 40.0, "sector": "Office"}, {"m2": 65.0, "room": "Hospital"}] │
│ 2 │ [{"m2": 25.0, "sector": "Cafe"}, {"m2": 120.0, "room": "Office"}] │
│ 3 │ [] │
└────┴───────────────────────────────────────────────────────────────────────┘
我只想找到m2 值最高的这些对象。
┌────┬─────────────────────────────────────────┐
│ id │ data │
├────┼─────────────────────────────────────────┤
│ 1 │ {"m2": 65.0, "room": "Hospital"} │
│ 2 │ {"m2": 120.0, "room": "Office"} │
│ 3 │ null │
└────┴─────────────────────────────────────────┘
PostgreSQL 13.4
【问题讨论】:
标签: sql postgresql greatest-n-per-group jsonb