sql >> Database >  >> RDS >> Mysql

het krijgen van telling uit dezelfde kolom in een mysql-tabel?

Probeer dit voor rijgewijs resultaat:

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

Uitgang:

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

Probeer dit voor rijgewijs resultaat met een totaal:

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

Uitgang:

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

Probeer dit voor kolomgewijs resultaat:

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;

Uitgang:

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

Bekijk deze SQLFiddle



  1. MySQL> Tabel bestaat niet. Maar het doet (of zou moeten)

  2. Hoe de laatste invoeg-ID in Oracle te verkrijgen met MyBatis?

  3. Replicatie-failover voor MySQL en MariaDB beheren

  4. SQL Server 2005 DateAdd gebruiken om een ​​dag aan een datum toe te voegen