从mysql表中的同一列获取计数?

前端之家收集整理的这篇文章主要介绍了从mysql表中的同一列获取计数?前端之家小编觉得挺不错的,现在分享给大家,也给大家做个参考。

我想为不同的值计算相同的字段,例如:

user{user_id,gender}

性别可以有明显的男性或女性:)

我想得到所有男性和女性的数量,即

  1. COUNT(male) COUNT(female)
  2. 4 16

但我很困惑,因为他们来自同一性别coloumn谢谢

最佳答案
试试这个行的结果:

  1. SELECT gender,COUNT(User_id) AS count
  2. FROM User
  3. GROUP BY gender;

输出

  1. | gender | count |
  2. |--------|-------|
  3. | F | 4 |
  4. | M | 2 |

尝试使用总计的行方式结果:

  1. SELECT (IFNull(gender,'Total')) AS gender,COUNT(User_id) AS Count
  2. FROM User
  3. GROUP BY gender
  4. WITH rollup;

输出

  1. | gender | Count |
  2. |--------|-------|
  3. | F | 4 |
  4. | M | 2 |
  5. | Total | 6 |

尝试以列方式结果:

  1. SELECT
  2. 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
  3. FROM User;

输出

  1. | males | females | Total |
  2. |-------|---------|-------|
  3. | 2 | 4 | 6 |

See this SQLFiddle

猜你在找的MySQL相关文章