【发布时间】:2025-12-23 13:45:06
【问题描述】:
PostgreSQL 14
假设这个样本数据:
| fruit | ripeness |
|---|---|
| orange | 1 |
| orange | 3 |
| apple | 0 |
| apple | 3 |
| apple | 3 |
| apple | 2 |
有没有办法让 ROLLUP 给我一个按成熟度计算的水果数量,并为每个可能的成熟度值设置一行,如下所示:
| fruit | ripeness | count |
|---|---|---|
| orange | 0 | 0 |
| orange | 1 | 1 |
| orange | 2 | 0 |
| orange | 3 | 1 |
| orange | 2 | |
| apple | 0 | 1 |
| apple | 1 | 0 |
| apple | 2 | 1 |
| apple | 3 | 2 |
| apple | 4 | |
| 6 |
而不仅仅是组中的现有值如下所示:
| fruit | ripeness | count |
|---|---|---|
| orange | 1 | 1 |
| orange | 3 | 1 |
| orange | 2 | |
| apple | 0 | 1 |
| apple | 2 | 1 |
| apple | 3 | 2 |
| apple | 4 | |
| 6 |
【问题讨论】:
标签: postgresql group-by left-join rollup cross-join