SQL: ¿Cómo obtener el recuento de cada valor distinto en una columna?


Tengo una tabla SQL llamada "posts"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 cada categoría aparece en un post all en una consulta sql?

Como ejemplo, tal consulta 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. Obstante, Estoy buscando una solución que utilice solo una consulta.

Author: Jeff Gortmaker, 2011-08-14

1 answers

SELECT
  category,
  COUNT(*) AS `num`
FROM
  posts
GROUP BY
  category
 205
Author: Dan Grossman,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/ajaxhispano.com/template/agent.layouts/content.php on line 61
2011-08-13 23:19:53