【发布时间】:2021-03-28 07:11:58
【问题描述】:
我有一张包含以下详细信息的表格
| Customer | Deal | DealStage | Year |
|---|---|---|---|
| A | D1 | Lost | 2019 |
| A | D2 | Won | 2019 |
| A | D3 | Contacted | 2020 |
| B | D4 | Conatcted | 2020 |
| B | D5 | Lost | 2020 |
| C | D6 | Lost | 2020 |
| D | D7 | Lost | 2020 |
我必须开发一个查询,我应该在其中获得每个客户每年唯一的最高阶段。阶段优先级为赢 > 联系 > 输。例如,A 有三笔交易,分别是赢、输和已联系。所以我应该考虑赢。同样联系了 B 和丢失了 C 和 D
是否有可能得到类似的输出
| Customer | HighestStage2019 | HighestStage2020 |
|---|---|---|
| A | Won | |
| B | Contacted | |
| C | Lost | |
| D | Lost |
这样,我可以生成一个看起来像这样的数据透视表
| Stage | CustomerCount2019 | CustomerCount2020 |
|---|---|---|
| Won | 1 | |
| Contacted | 1 | |
| Lost | 2 |
提前致谢
【问题讨论】:
-
请不要只要求我们解决问题或为您编写解决方案。欢迎初学者,但我们希望您付出一些努力在提出问题之前解决您自己的问题。尽管我们非常愿意帮助您解决您编写的代码的问题,但我们不会为您编写代码。
标签: mysql sql count aggregate aggregate-functions