Post Top Ad

Your Ad Spot

viernes, 15 de mayo de 2020

Conservar filas cuando se usa GROUP BY con GROUP_CONCAT

Mantenga las filas que normalmente se perderían al seleccionar filas usando COUNT y GROUP By. Para seguir diciendo otra columna y fusionarlas en una coma de columna separada mediante el uso de una función GROUP_CONCAT.
Toma este ejemplo.
SELECT 
    COUNT(tickets.memberID) AS tickets,
    members.username
 FROM 
    tickets, 
    members
WHERE 
    tickets.memberID=members.memberID    
GROUP BY 
    tickets.memberID        
ORDER BY 
    tickets DESC
Esto generará la cantidad de tickets que tiene cada usuario, si el asunto necesita mostrarse con el usuario, no será tan simple ya que cada fila tendrá un asunto, pero dado que está usando GROUP BY solo se devolverá un asunto. <
Aquí es donde entra GROUP_CONCAT, usando GROUP_CONCAT todos los temas se pueden recopilar y separar por coma y colocar en una sola columna:
SELECT 
    COUNT(tickets.memberID) AS tickets,
    members.username,
    GROUP_CONCAT(tickets.subject) AS subject
 FROM 
    tickets, 
    members
WHERE 
    tickets.memberID=members.memberID    
GROUP BY 
    tickets.memberID        
ORDER BY 
    tickets DESC
Con GROUP_CONCAT en su lugar, la consulta anterior ahora devolverá todos los asuntos de las filas que se devolverían si no se utilizara GROUP BY.
Una función extremadamente útil de hecho.

No hay comentarios.:

Publicar un comentario

Dejanos tu comentario para seguir mejorando!

outbrain

Páginas