Ir al contenido



Foto

[TRUCO MySQL] Combinar Group_Concat () con Conteos


  • Por favor identifícate para responder
No hay respuestas en este tema

#1 sir.dev.a.lot

sir.dev.a.lot

    Advanced Member

  • Miembros
  • PipPipPip
  • 545 mensajes
  • Location127.0.0.1

Escrito 19 diciembre 2016 - 11:22

[TRUCO MySQL] Combinar Group_Concat () con Conteos

 

 

En lugar de enumerar instancias que incluyan repeticiones en una línea, desea listar instancias distintas y sus cuentas. Una forma es hacer una simple consulta GROUP BY y en su capa de aplicación quitar las líneas de nuevo del resultado. O puede hacerlo en un solo paso:


sql
  1. DROP TABLE IF EXISTS t;
  2. CREATE TABLE t (
  3.   TYPE INT(10) ,
  4.   instance INT(10) 
  5. ) ;
  6. INSERT INTO t VALUES 
  7. (1,4),(1,7),(1,9),(1,10),(2,2),(2,3),(2,5),(2,6),(2,8),(3,1),(4,11);
  8.  
  9. SELECT group_concat( concat( TYPE,'(',qty,')') separator ', ') list 
  10. FROM (
  11.   SELECT TYPE, COUNT(*) qty 
  12.   FROM t 
  13.   GROUP BY TYPE
  14. ) n


delphi
  1. //Resultado
  2.  
  3. +------------------------+
  4. | list |
  5. +------------------------+
  6. | 1(4), 2(5), 3(1), 4(1) |
  7. +------------------------+

Saludos!


  • 1