我有这张桌子:
| arrs |
|:----|
| {10000,10000,10000,10000} |
| {100,200,300} |
| {400,500,600} |
| {100,200,600} |
如何得到这个结果?
| uniques |
|:-------|
| 10000 |
| 100 |
| 200 |
| 300 |
| 400 |
| 500 |
| 600 |
或者这个结果?
| arrUniques |
|:----|
| {10000,100,200,300,400,500,600} |
参见 -> 小提琴
您应该能够在此处将
UNNEST()
与 DISTINCT
一起使用:
SELECT DISTINCT UNNEST(arrs) AS uniques
FROM yourTable;
您可以使用
Distinct unnest
根据您的第一个场景显示独特的结果:
SELECT DISTINCT unnest(arr) AS uniques
FROM "test";
对于在单个数组中显示结果的第二种情况,您可以添加
array_agg
:
SELECT array_agg(DISTINCT unnest(arr)) AS arrUniques
FROM "test";