PHP MySQL показать данные строки в столбцы

Здравствуйте, мне нужна помощь, чтобы показать данные от строки к столбцу в PHP MySQL
Исходные данные выглядят так:

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, пожалуйста, помогите мне,
Спасибо

-6

Решение

Преобразование строк в столбцы называется сводной.
Наиболее распространенный способ сделать это — использовать GROUP BY и такие функции, как 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
0

Другие решения

Других решений пока нет …

По вопросам рекламы ammmcru@yandex.ru
Adblock
detector