Consulta MySql

_kRuStY_

Tengo una duda de como hacer una consulta para sumar una columna dependiendo del valor de otra.

Ejemplo:

Tengo esta tabla

| Id_etiquetas_gins | Id_gin | Id_etiqueta | Num_veces |

             1 |            1 |                 1 |               1 |
             2 |            1 |                 2 |               1 |
             3 |            2 |                 2 |               2 |
             4 |            2 |                 1 |               1 |

Quiero sumar el numero de veces dependiendo de la Id_etiqueta. Y obtener

Id_etiqueta Num_veces
1 2
2 3

Para poder luego ordenar por el numero de veces y coger las 5 mas repetidas.

Muchas gracias.

r2d2rigo

Creo que algo asi, que tengo el SQL un poco oxidado:

SELECT id_etiqueta, SUM(num_veces) FROM tabla ORDER BY SUM(num_veces) DESC
Cyph3r

Te faltó el distinct

SELECT distinct(id_etiqueta), SUM(num_veces) FROM tabla

r2d2rigo

Eso joe, ya decia yo que me dejaba algo por el camino.

D

#3 esto almenos en sql server no funciona ni de coña.

Lo correcto es esto:

select id_etiqueta, sum(num_veces) from tabla group by id_etiqueta

Cyph3r

Sí tienes razón me equivoqué.

_kRuStY_

Muchas gracias a todos ^^

JuAn4k4

#5 + un select sobre ese conjunto que seleccione los 5 primeros al ordenarlos por sum(numveces)

se puede renombrar en el select la columna resultante para luego poder ordenar por ella si no sabes que nombre le pone por defecto.

select ... sum(numveces) suma, ...

y luego es

select id_etiqueta from ( select de #5 ) order_by ( suma ) ;

y lo de poner los 5 resultados primeros no se como es en mysql.

Shock

#8 LIMIT 0,5

Usuarios habituales