Mysql
 sql >> база данни >  >> RDS >> Mysql

Как мога да групирам поле с помощта на mysql?

Ако искате просто да комбинирате цветове и полета с изображения:

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

За да получите всички данни вертикално в една колона и все пак да позволите подреждане по общ идентификатор, помислете за:

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;

Ако искате да свържете множество редове с данни в един низ, разгледайте функцията GROUP_CONCAT.

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;

Не мога да накарам fiddle да работи с Char(10) + Char(13), нито конкатенация с + и нямам MySQL за тестване, но се надявам, че това ще ви помогне да започнете.

Тогава вместо да се опитвате да направите това в рамките на заявка, има опция за създаване на отчет, който ще сортира и групира по v_ebt данни. Това би било просто в Access и очаквам, че инструментите за отчитане на MySQL и Crystal Reports могат да го направят.




  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. Припокриващ се резервационен SQL

  2. $this->db->insert_id() не работи в mysql codeigniter

  3. Как правилно да GROUP BY в MySQL?

  4. Множество заявки срещу съхранена процедура

  5. MySQL условия от множество редове