Sql 使用的数组。使用字符串而不是数组来表示列表不太一般,只是不雅观而已。@GordonLinoff-在这种特殊情况下,您是否尝试过使用array_agg?它只会使它更重,甚至更不优雅o) 试试看,你会明白的。但仍然-这不是使用array_agg的目标,而是提供

Sql 使用的数组。使用字符串而不是数组来表示列表不太一般,只是不雅观而已。@GordonLinoff-在这种特殊情况下,您是否尝试过使用array_agg?它只会使它更重,甚至更不优雅o) 试试看,你会明白的。但仍然-这不是使用array_agg的目标,而是提供,sql,google-bigquery,Sql,Google Bigquery,使用的数组。使用字符串而不是数组来表示列表不太一般,只是不雅观而已。@GordonLinoff-在这种特殊情况下,您是否尝试过使用array_agg?它只会使它更重,甚至更不优雅o) 试试看,你会明白的。但仍然-这不是使用array_agg的目标,而是提供与之不同的真正有效的解决方案的目标others@GordonLinoff-再想想-看起来你是对的,ARRAY_AGG的版本更适合这里,更性感。感谢您将我推到这个版本:o)查看我的更新为什么您要string\u agg()而不是array\u a


使用的数组。使用字符串而不是数组来表示列表不太一般,只是不雅观而已。@GordonLinoff-在这种特殊情况下,您是否尝试过使用array_agg?它只会使它更重,甚至更不优雅o) 试试看,你会明白的。但仍然-这不是使用array_agg的目标,而是提供与之不同的真正有效的解决方案的目标others@GordonLinoff-再想想-看起来你是对的,ARRAY_AGG的版本更适合这里,更性感。感谢您将我推到这个版本:o)查看我的更新为什么您要
string\u agg()
而不是
array\u agg()
,然后只拉出元素?@GordonLinoff-您也可以尝试一下。只是想给出与其他答案中给出的经典/明显方向不同的方向。如果你喜欢的话,你可以向上投票:o)如果你使用数组,我会向上投票。使用字符串而不是数组来表示列表不太一般,只是不雅观而已。@GordonLinoff-在这种特殊情况下,您是否尝试过使用array_agg?它只会使它更重,甚至更不优雅o) 试试看,你会明白的。但仍然-这不是使用array_agg的目标,而是提供与之不同的真正有效的解决方案的目标others@GordonLinoff-再想想-看起来你是对的,ARRAY_AGG的版本更适合这里,更性感。感谢您将我推到这个版本:o)查看我的更新
country1    country2    count
 CHN         KOR         65
 TWN         KOR         32
 KOR         CHN         43
country1    country2    count
 CHN         KOR         108
 TWN         KOR          32
select country1, country2, sum(count)
from ((select country1, country2, count
       from t
       where country1 <= country2
      ) union all
      (select country2, country1, count
       from t
       where country1 > country2
      )
     ) cc
group by country1, country2;
select least(country1, country2), greatest(country1, country2), sum(count)
from ((select country1, country2, count
       from t
       where country1 <= country2
      ) union all
      (select country2, country1, count
       from t
       where country1 > country2
      )
     ) cc
group by 1, 2;