mysql把行转成列
原始数据:
| code | name | REPORT_NAME | amount |
|---|---|---|---|
| 1 | A | 2023销量 | 100 |
| 1 | A | 2022销量 | 200 |
| 1 | A | 2021销量 | 400 |
| 1 | B | 2023销量 | 300 |
| 1 | B | 2020销量 | 100 |
输出数据:
| code | name | 2023销量 | 2022销量 | 2021销量 | 2020销量 |
|---|---|---|---|---|---|
| 1 | A | 100 | 200 | 400 | 0 |
| 1 | B | 300 | 0 | 0 | 100 |
SQL:
SELECT
code,
name,
sum( if( REPORT_NAME = '2023销量', amount, 0 ) ) AS '2023销量',
sum( if( REPORT_NAME = '2022销量', amount, 0 ) ) AS '2022销量',
sum( if( REPORT_NAME = '2021销量', amount, 0 ) ) AS '2021销量',
sum( if( REPORT_NAME = '2020销量', amount, 0 ) ) AS '2020销量'
FROM table
group by code,name;

浙公网安备 33010602011771号