php mysql将行数据显示到列
您好,我需要帮助显示数据从行到列在php mysql 原始数据如下所示:php mysql将行数据显示到列,php,mysql,Php,Mysql,您好,我需要帮助显示数据从行到列在php mysql 原始数据如下所示: date bank total ---------------------------------------------- 2017-02-01 BCA 2500000 2017-02-01 CIMB 1500000 2017-02-01 UOB
date bank total
----------------------------------------------
2017-02-01 BCA 2500000
2017-02-01 CIMB 1500000
2017-02-01 UOB 3750000
2017-02-02 BCA 2100000
2017-02-02 CIMB 3600000
2017-02-02 UOB 2500000
我对这个输出的期望是:
date BCA CIMB UOB TOTAL
----------------------------------------------------------------
2017-02-01 2500000 1500000 3750000 7750000
2017-02-02 2100000 3600000 2500000 8200000
所以,如果你有任何关于php mysql代码的建议,请帮助我,
谢谢将行转换为列被称为pivot。 最常用的方法是使用GROUPBY和函数,如MAX或SUM 创建/插入查询
CREATE TABLE t
(`date` DATE, `bank` VARCHAR(4), `total` INT)
;
INSERT INTO t
(`date`, `bank`, `total`)
VALUES
('2017-02-01', 'BCA', 2500000),
('2017-02-01', 'CIMB', 1500000),
('2017-02-01', 'UOB', 3750000),
('2017-02-02', 'BCA', 2100000),
('2017-02-02', 'CIMB', 3600000),
('2017-02-02', 'UOB', 2500000)
;
查询
SELECT
t.date
, MAX(CASE WHEN t.bank = 'BCA' THEN t.total END) AS BCA
, MAX(CASE WHEN t.bank = 'CIMB' THEN t.total END) AS CIMB
, MAX(CASE WHEN t.bank = 'UOB' THEN t.total END) AS UOB
, SUM(t.total) AS total
FROM
t
GROUP BY
t.date
ORDER BY
t.date ASC
结果
date BCA CIMB UOB total
---------- ------- ------- ------- ---------
2017-02-01 2500000 1500000 3750000 7750000
2017-02-02 2100000 3600000 2500000 8200000
向我们展示你的代码,你到目前为止尝试了什么..以及问题是什么。你听说过查询,对吗?可能重复的堆栈溢出不是教程网站,请从谷歌搜索php mysql教程并从中学习。好的,谢谢你的代码,非常有用,并修复我的程序代码,谢谢