0

エクセルピボットテーブルへのデータ操作の支援を求めていた最初の投稿のフォローアップとして、これはユニオンを使用したデータベースコマンドを介してのみ実行できると推測しています。したがって、同じデータを使用して、MySQLの観点から新しい質問を送信します。

私は次のテーブルを持っています:

mysql> select * from ilike;
+-----------+------------+----------+
| likebread | likecheese | likemilk |
+-----------+------------+----------+
| girl      | boy        | girl     |
| boy       | girl       | boy      |
| boy       | boy        | boy      |
| boy       | boy        | girl     |
| boy       | boy        | boy      |
| boy       | girl       | boy      |
| girl      | boy        | girl     |
| boy       | girl       | girl     |
| boy       | boy        | girl     |
| girl      | boy        | boy      |
+-----------+------------+----------+
10 rows in set (0.00 sec)

個々の列のデータをカウントしてグループ化し、最終結果が次のようにそれぞれの列の男の子と女の子のカウントを示すテーブルになるようにします。

        +-----------+------------+----------+
        | likebread | likecheese | likemilk |
+-------+-------+------------+--------------+
| boys  | 7         | 7          | 5        |
| girls | 3         | 3          | 5        |
+-------+-----------+------------+----------+

どんな援助もありがたいです!

4

1 に答える 1

1

1 つの方法を次に示します。

select g.gender,
       sum(case when likebread=g.gender then 1 end) likebread,
       sum(case when likecheese=g.gender then 1 end) likecheese,
       sum(case when likemilk=g.gender then 1 end) likemilk
from (select 'girl' gender union select 'boy') g
cross join ilike
group by g.gender

結果

| | 性別 | 好きなパン | 好きなチーズ | いいねミルク |
----------------------------------------------
| | 男の子 | 7 | 7 | 5 |
| | 女の子 | 3 | 3 | 5 |

デモを見る

于 2013-03-21T18:36:51.850 に答える