SQL - contando filas con valor específico
Tengo una mesa que se parece un poco a esto:
id value
1 0
1 1
1 2
1 0
1 1
2 2
2 1
2 1
2 0
3 0
3 2
3 0
Ahora para cadaid
, Quiero contar el número de ocurrencias de 0 y 1 y el número de ocurrencias para esa ID (el valor puede ser cualquier número entero), por lo que el resultado final debe verse algo como esto:
id n0 n1 total
1 2 2 5
2 1 2 4
3 2 0 3
Logré obtener la primera y última fila con esta declaración:
SELECT id, COUNT(*) FROM mytable GROUP BY id;
Pero estoy un poco perdido de aquí. ¿Alguna sugerencia sobre cómo lograr esto sin una gran declaración?