sql >> Database teknologi >  >> RDS >> Mysql

Hvordan kan jeg gruppere felt ved hjælp af mysql?

Hvis du bare vil kombinere farver og billedfelter:

SELECT v_ebt, CONCAT("color: ", colors, "; image: ", image) AS Data FROM table;

For at få alle data lodret i én kolonne og stadig tillade bestilling efter fælles identifikator, skal du overveje:

SELECT 1 AS Srt, v_ebt AS Grp, v_ebt AS Data FROM docs
UNION SELECT 2, v_ebt, CONCAT("color: ", colors, ", image: ", image) 
     FROM docs
ORDER BY Grp, Srt;

Hvis du vil sammenkæde flere rækker af data i en enkelt streng, skal du udforske GROUP_CONCAT-funktionen.

SELECT v_ebt, GROUP_CONCAT(CONCAT("color: ", colors, ", image: ", image, Char(10)+Char(13))
                           ORDER BY CONCAT("color: ", colors, ", image: ", image, Char(10)+Char(13))) AS list
FROM table
GROUP BY v_ebt;

Kan ikke få fifl til at arbejde med Char(10) + Char(13) eller sammenkædning med + og jeg har ikke MySQL at teste, men forhåbentlig får det dig i gang.

Så i stedet for at prøve at gøre dette inden for forespørgslen, er der mulighed for at oprette en rapport, der sorterer og grupperer efter v_ebt-data. Dette ville være enkelt i Access, og jeg forventer, at MySQL-rapporteringsværktøjer og Crystal Reports kan gøre det.




  1. Sum over værdier efter måned i millisekunder

  2. Hvordan ville jeg udføre matematik i en sql-forespørgsel for at beregne procentforskellen?

  3. Får fejl ved at kalde en funktion i SQL-forespørgsel i en pakke uden at erklære funktion i pakkespecifikationen

  4. magento printvenlig side for produkter