【问题标题】:MySQL Columns To Rows [duplicate]MySQL列到行[重复]
【发布时间】:2012-10-21 16:15:36
【问题描述】:

可能重复:
MYSQL - Rows to Columns

我在 MySQL 中有下表:

Original Table

有谁知道如何在表格上进行选择以获得以下结果:

GivenName | FamilyName | EMailHome       | PhoneNrHome
--------------------------------------------------------
Angus     | Young      | angus@gmail.com | (123) 456 789 

所以链接到同一个UserID的字段应该按列排列。

非常感谢您的帮助!

【问题讨论】:

    标签: mysql


    【解决方案1】:
    Please try self as per below example :
    
    SELECT  
      IFNULL(empId,'Totals') AS EmpId,       -- outer query labels rollup row 
      sums.2005, sums.2006, sums.2007,       -- and calculates horizontal sums 
      sums.2005 + sums.2006 + sums.2007 AS Sums 
    FROM (                                   -- inner query groups by employee 
      SELECT                                 -- with an expression for each column 
        EmpID, 
        SUM(IF(Yr=2005,sales,0)) As '2005', 
        SUM(IF(Yr=2006,sales,0)) As '2006', 
        SUM(IF(Yr=2007,sales,0)) As '2007' 
      FROM Sales 
      GROUP BY EmpID WITH ROLLUP 
    ) AS sums; 
    +--------+----------+----------+----------+-----------+ 
    | EmpId  | 2005     | 2006     | 2007     | Sums      | 
    +--------+----------+----------+----------+-----------+ 
    | 1      | 12000.00 | 18000.00 | 25000.00 |  55000.00 | 
    | 2      | 15000.00 |  6000.00 |     0.00 |  21000.00 | 
    | 3      |     0.00 | 20000.00 | 24000.00 |  44000.00 | 
    | Totals | 27000.00 | 44000.00 | 49000.00 | 120000.00 | 
    +--------+----------+----------+----------+-----------+ 
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2016-07-09
      • 1970-01-01
      • 2015-05-25
      • 2023-04-02
      • 1970-01-01
      • 1970-01-01
      • 2022-11-02
      • 1970-01-01
      相关资源
      最近更新 更多