次のような Data というデータベースがあります。
ID | Name | Weakness1 | Weakness2 | Weakness3
_____________________________________________
1 | A | W1 | W2 | Null
2 | B | NULL | W2 | W3
3 | C | W1 | NULL | NULL
4 | A | W1 | W2 | W3
5 | A | W1 | NULL | NULL
次のように表示できるようにクエリを実行するのが好きです。
Name | Weakness | Frequency
___________________________________
A | W1 | 3
A | W2 | 2
A | W3 | 1
同じ名前が異なる ID を持つ場合があることに注意してください。これまでのところ、コードを試しました:
Select DISTINCT Name,
UNNEST(ARRAY[weakness1,weakness2,weakness3] as Weakness,
UNNESR(ARRAY[count(weakness1),count(weakness2),count(weakness2)])
from data
where agentname like '%A%'
GROUP by agentname,weakness1,weakness2,weakness3
NULL 行も表示されました。COUNT(Weakness1)>0 は 'where' の後に許可されず、既に 'DISTINCT' を追加しましたが、弱点が冗長であることがわかりました
したがって、次のように表示されます:
Name | Weakness | Frequency
___________________________________
A | W1 | 1
A | | 0
A | W3 | 1
A | W1 | 2
A | W2 | 1
A | W2 | 1
ここで何か問題がありますか?ありがとうございました