operadores - sentencia between mysql
SQL: ¿Cómo obtener el recuento de cada valor distinto en una columna? (1)
Tengo una tabla SQL llamada "publicaciones" que se ve así:
id | category
-----------------------
1 | 3
2 | 1
3 | 4
4 | 2
5 | 1
6 | 1
7 | 2
Cada número de categoría corresponde a una categoría. ¿Cómo voy a contar el número de veces que aparece cada categoría en una consulta de publicación en un sql ?
Como ejemplo, una consulta de este tipo podría devolver una matriz simbólica como esta: (1:3, 2:2, 3:1, 4:1)
Mi método actual es usar consultas para cada categoría posible, como: SELECT COUNT(*) AS num FROM posts WHERE category=#
, y luego combinar los valores devueltos en una matriz final. Sin embargo, estoy buscando una solución que use solo una consulta.
SELECT
category,
COUNT(*) AS `num`
FROM
posts
GROUP BY
category