0

我在这样的表中有数据:

+-----------+-------------+-----------------+------+----------+
|   make    |    model    |     variant     | year |  price   |
+-----------+-------------+-----------------+------+----------+
| CHEVROLET | SPARK       | 08LS            | 2018 |  1000000 |
| CHEVROLET | SPARK       | 08LS            | 2017 |  2000000 |
| CHEVROLET | SPARK       | 08LS            | 2016 |  3000000 |
| CHEVROLET | SPARK       | 08LSTRENDY      | 2018 |  4000000 |
| CHEVROLET | SPARK       | 08LSTRENDY      | 2017 |  5000000 |
| CHEVROLET | SPARK       | 08LSTRENDY      | 2016 |  6000000 |
| TOYOTA    | LANDCRUISER | 10042DVX        | 2018 |  7000000 |
| TOYOTA    | LANDCRUISER | 10042DVX        | 2017 |  8000000 |
| TOYOTA    | LANDCRUISER | 10042DVX        | 2016 |  9000000 |
| TOYOTA    | LANDCRUISER | 10042DVX        | 2015 | 10000000 |
| TOYOTA    | LANDCRUISER | 10042DVXLIMITED | 2018 | 11000000 |
| TOYOTA    | LANDCRUISER | 10042DVXLIMITED | 2017 | 12000000 |
| TOYOTA    | LANDCRUISER | 10042DVXLIMITED | 2016 | 13000000 |
| TOYOTA    | LANDCRUISER | 10042DVXLIMITED | 2015 | 14000000 |
| TOYOTA    | LANDCRUISER | 10042DVXLIMITED | 2014 | 15000000 |
| TOYOTA    | LANDCRUISER | 10042DVXLIMITED | 2013 | 16000000 |
+-----------+-------------+-----------------+------+----------+

我想选择以下表格中的数据

+-----------+-------------+-----------------+----------+----------+----------+----------+----------+----------+
|   make    |    model    |     variant     |   2018   |   2017   |   2016   |   2015   |   2014   |   2013   |
+-----------+-------------+-----------------+----------+----------+----------+----------+----------+----------+
| CHEVROLET | SPARK       | 08LS            |  1000000 |  2000000 |  3000000 | NULL     | NULL     | NULL     |
| CHEVROLET | SPARK       | 08LSTRENDY      |  4000000 |  5000000 |  6000000 | NULL     | NULL     | NULL     |
| TOYOTA    | LANDCRUISER | 10042DVX        |  7000000 |  8000000 |  9000000 | 10000000 | NULL     | NULL     |
| TOYOTA    | LANDCRUISER | 10042DVXLIMITED | 11000000 | 12000000 | 13000000 | 14000000 | 15000000 | 16000000 |
+-----------+-------------+-----------------+----------+----------+----------+----------+----------+----------+

你能帮我写一个查询吗?

4

1 回答 1

0

您可以进行条件聚合:

select make, model, variant,
       sum(case when yr = 2018 then price else 0 end),
       sum(case when yr = 2017 then price else 0 end),
       sum(case when yr = 2016 then price else 0 end),
       sum(case when yr = 2015 then price else 0 end)
from table t
group by make, model, variant;
于 2020-05-05T13:15:31.300 回答