0

わかりましたので、私のオリジナルはこれです

select people, count(*) 
from table
group by people

ただし、一部の人には複数の人がいるため、この集計では、A、B、C だけでなく、各反復の純粋なカウントも得られません。

A 10
B 5
A, B 1
A, C 2
C 15
A, B, C 3

これは、レガシーSQLで個人の完全なリストを取得するために機能します

select split(people,",") as person
from table

しかし、その上でグループを使用することはできません

select split(people,",") as person, count(*)
from table
group by person

エラーを与える

集計でグループ化できません。

どういうわけか、解決策はサブクエリのように感じますが、それを実行する方法がわかりません

4

1 に答える 1

1

外側のクエリでラップしてみてください

select person, count(*)
from(
    select split(people,",") as person
    from table
) t
group by person
于 2019-08-15T16:53:01.207 に答える