前提・実現したいこと
プログラミングを勉強していてデータベースを触り始めたのですが
レコードの抽出で試行錯誤しても上手くいかないのでどなたかお教えいただけないでしょうか?
以下の様なテーブルがあり
name | class | gender |
A |1 |男 |
B |2 |男 |
C |2 |女 |
D |2 |男 |
E |2 |男 |
F |1 |女 |
G |3 |男 |
下記のようなレコード抽出結果を求めたいのですがうまくいきません
class | gender | count | per |
1 |女 |1 |50.0% |
2 |男 |3 |75.0%|
ある値の総数をカウントしたのち、さらにその中のある値をカウントし総数で割り表示する
この方法がわかりません。
試したこと
MySQL
1SELECT class,gender,count(*) as count,concat(round(count((gender='男')/gender * 100),1),'%') as per 2FROM student 3WHERE gender='男' 4GROUP BY class
補足情報(FW/ツールのバージョンなど)
MySQLのバージョンは8.0です
よろしくお願いします。
回答3件
あなたの回答
tips
プレビュー
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。