たとえば、異なる値について同じフィールドをカウントしたかったのです。
user {user_id、gender}
性別は明らかに男性または女性を持つことができます:)
私はすべての男性と女性のカウントを取得したい、すなわち
COUNT(male) COUNT(female)
4 16
gender coloumn
しかし、彼らは同じ感謝から来ているので、私は混乱しています
行ごとの結果については、これを試してください。
SELECT gender, COUNT(User_id) AS count
FROM User
GROUP BY gender;
出力:
| gender | count |
|--------|-------|
| F | 4 |
| M | 2 |
総計で行ごとの結果を得るには、これを試してください。
SELECT (IFNull(gender,'Total')) AS gender,
COUNT(User_id) AS Count
FROM User
GROUP BY gender
WITH rollup;
出力:
| gender | Count |
|--------|-------|
| F | 4 |
| M | 2 |
| Total | 6 |
列ごとの結果については、これを試してください。
SELECT
COUNT(CASE WHEN gender = 'M' THEN User_id END) AS males,
COUNT(CASE WHEN gender = 'F' THEN User_id END) AS females,
COUNT(*) AS Total
FROM User;
出力:
| males | females | Total |
|-------|---------|-------|
| 2 | 4 | 6 |
あなたのコメントに基づいて、あなたは男性、女性の両方の数と合計数を求めています:
SELECT sum(case when gender = 'M' then 1 else 0 end) males,
sum(case when gender = 'F' then 1 else 0 end) females,
count(*) total
FROM yourTable
SQL FiddlewithDemoを参照してください
このクエリを試してください-
SELECT
COUNT(IF(gender = 'M', User_id, NULL) males,
COUNT(IF(gender = 'F', User_id, NULL) females
FROM
User