sql >> Database >  >> RDS >> Mysql

MySQL - Hoe kolommen naar rijen ongedaan te maken?

U probeert de draaiing op te heffen de data. MySQL heeft geen unpivot-functie, dus je zult een UNION ALL moeten gebruiken query om de kolommen om te zetten in rijen:

select id, 'a' col, a value
from yourtable
union all
select id, 'b' col, b value
from yourtable
union all
select id, 'c' col, c value
from yourtable

Zie SQL Fiddle met demo .

Dit kan ook met een CROSS JOIN :

select t.id,
  c.col,
  case c.col
    when 'a' then a
    when 'b' then b
    when 'c' then c
  end as data
from yourtable t
cross join
(
  select 'a' as col
  union all select 'b'
  union all select 'c'
) c

Zie SQL Fiddle met demo



  1. 10 redenen waarom uw bedrijf Microsoft Access nodig heeft

  2. Afbeeldingsvoorbeeld en uploaden met behulp van PHP en MySQL-database

  3. SQL Server Failover Cluster Installatie -4

  4. hoe de begin- en einddatum van alle weken tussen twee datums in SQL-server te krijgen?