getting count from the same column in a mysql table?

后端 未结 4 774
野趣味
野趣味 2021-01-03 00:07

I wanted to a count of the same field for different values for example:

user{user_id, gender}

Gender can have obviously male or

4条回答
  •  小蘑菇
    小蘑菇 (楼主)
    2021-01-03 00:44

    Try this for row wise result:

    SELECT gender, COUNT(User_id) AS count
    FROM User
    GROUP BY gender;
    

    Output:

    | gender | count |
    |--------|-------|
    |      F |     4 |
    |      M |     2 |
    

    Try this for row wise result with grand total:

    SELECT  (IFNull(gender,'Total')) AS gender,
    COUNT(User_id) AS Count
    FROM User
    GROUP BY gender
    WITH rollup;
    

    Output:

    | gender | Count |
    |--------|-------|
    |      F |     4 |
    |      M |     2 |
    |  Total |     6 |
    

    Try this for column wise result:

    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;
    

    Output:

    | males | females | Total |
    |-------|---------|-------|
    |     2 |       4 |     6 |
    

    See this SQLFiddle

提交回复
热议问题