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

mysql konverterer flere rækker til kolonner i en enkelt række

MySQL har ikke PIVOT/UNPIVOT-syntaks, hvilket lader dig bruge en kombination af GROUP BY- og CASE-udtryk:

INSERT INTO SUMMARY
  (user_id,valueA,valueB) 
  SELECT d.user_id,
         MAX(CASE WHEN d.code = 5 THEN d.value ELSE NULL END),
         MAX(CASE WHEN d.code = 6 THEN d.value ELSE NULL END),
    FROM DETAILS d
GROUP BY d.user_id


  1. Få den mest almindelige værdi for hver værdi i en anden kolonne i SQL

  2. Forbedre ydeevnen af ​​UDF'er med NULL ON NULL INPUT

  3. Oracle DB:Hvordan kan jeg skrive forespørgsel, der ignorerer store og små bogstaver?

  4. Hvordan opretter og indsætter man et JSON-objekt ved hjælp af MySQL-forespørgsler?