Tengo una tabla de los estudiantes:¿Cómo contar las ocurrencias de un valor de columna de manera eficiente en SQL?
id | age
--------
0 | 25
1 | 25
2 | 23
Quiero consultar para todos los estudiantes, y una columna adicional que cuenta el número de estudiantes son de la misma edad:
id | age | count
----------------
0 | 25 | 2
1 | 25 | 2
2 | 23 | 1
¿Cuál es la más eficiente forma de hacer esto? Me temo que una sub-consulta será lenta, y me pregunto si hay una mejor manera de. ¿Esta ahí?
Dado que la sub consulta es estática solo necesita ejecutarla una vez y puede almacenar el resultado en una tabla temporal, como la mayoría de estas respuestas lo han hecho. –
@NickLarsen, una tabla temporal es muy diferente y menos eficiente que las tablas derivadas (también conocidas como vistas en línea) que usan la mayoría de las respuestas aquí. –