SELECT COUNT(CASE WHEN gender = ‘Male’ AND marital_status = ‘Married’ THEN 1 END) AS gentleman_married, COUNT(CASE WHEN gender = ‘Male’ AND marital_status = ‘Unmarried’ THEN 1 END) AS gentleman_unmarried, COUNT(CASE WHEN gender = ‘Female’ AND marital_status = ‘Married’ THEN 1 END) AS lady_married, COUNT(CASE WHEN gender = ‘Female’ AND marital_status = ‘Unmarried’ THEN 1 END) AS lady_unmarried FROM table_name WHERE gender IN (‘Male’, ‘Female’);
Estoy usando PostgreSQL. Quiero contar:
- caballeros casados y caballeros solteros
where gender='M'
- damas casadas y damas solteras
where gender='F'
- Total de conteo de casados y conteo de solteros.
Solo puedo ejecutar caballeros casados y caballeros solteros o damas casadas y damas solteras where gender=?
pero no pude ejecutar la consulta completa a continuación. Por lo tanto, ¿podría alguien darme las correcciones sobre el siguiente código, por favor?
sql
SELECT COUNT(CASE
WHEN married = 'M' THEN
1
END) AS caballeros_casados WHERE gender = 'M',
COUNT(CASE
WHEN married = 'U' THEN
1
END) AS caballeros_solteros WHERE gender = 'M',
COUNT(CASE
WHEN married = 'M' THEN
1
END) AS damas_casadas WHERE gender = 'F',
COUNT(CASE
WHEN married = 'U' THEN
1
END) AS damas_solteras WHERE gender = 'F',
COUNT() AS conteo_casados WHERE married = 'M',
COUNT() AS conteo_solteros WHERE married = 'U'
FROM station
WHERE group = 'abc';
davy.ai
Para contar los hombres casados y los hombres solteros, así como las mujeres casadas y las mujeres solteras según su género en PostgreSQL, puedes utilizar la siguiente consulta:
En esta consulta, utilizamos la función
SUM()
con declaracionesCASE
para contar el número de hombres casados, hombres solteros, mujeres casadas, mujeres solteras, cantidad de casados y cantidad de solteros. También utilizamos la claúsulaWHERE
para filtrar los resultados según la columnagrupo
.Nota: Asegúrate de reemplazar
estacion
por el nombre de tu tabla yabc
con el valor deseado paragrupo
.