レコードの数が 1 を超える場合、特定のフィールドのすべてのレコードを (別の列の値ごとに) 1 つのセルに結合したいと思います。たとえば、次のコードがある場合
SELECT city, count(zoo name) AS 'count of zoo name' FROM mytable
以下の結果が生成されます
元のテーブルはこんな感じ
アトランタとニューヨークには複数の動物園があり、東京には動物園が 1 つしかないため、最終結果は次のようになります。
どうすればこれを行うことができますか?PIVOT コンストラクトを使用することを考えましたが、可能な値ごとに新しい列が作成されます。また、考えられるすべての動物園名を PIVOT に書き込む必要があります。実際のデータには上記よりもはるかに多くの「動物園名」の値があるため、これは悪い形式です。