mysql - 在 Sql 中将每 6 行转置为列 1、2、3 等的简单方法?

标签 mysql sql

enter image description here

感谢您的帮助!我真的不知道该怎么办..

最佳答案

使用 PIVOT 将行转换为列。

看看www.artfulsoftware.com/infotree/qrytip.php?id=78示例;

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 | 
+--------+----------+----------+----------+-----------+ 

关于mysql - 在 Sql 中将每 6 行转置为列 1、2、3 等的简单方法?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/42200315/

相关文章:

sql - 选择具有相同名称的节点中的所有信息

mysql - 插入 ID 为 1 的新行

MySQL CONCAT '*' 符号向数据库 toast

php - 将 Mysql 附近查询转换为 Laravel API 查询

php - 如何将 PHP 数组插入 SQL 数据库

sql - 如何按列分组

php - 如何修改此有效的 SQL SELECT/JOIN 查询以删除重复项?

php - SQL 双选

php - Mysqli 准备语句破坏了图像插入数据库

android - 如何在 Android 手机上安装 MySQL 以与 node.js 一起使用