这个问题在这里已经有答案了:
如何在mysql中返回pivot表输出(9个答案)
两年前关门了。
我有一个数据列表,我想从一个布局转换到另一个。我不完全确定从一种布局转换到另一种布局的最佳方式。我想过一次刮一个“奶酪类型”,然后加入结果。我希望有一个更优雅的解决方案。我得到的是:
| BurgerType | CheeseType | Slices |
|--------------|------------|--------|
| Cheeseburger | Provolone | 2 |
| Cheeseburger | Cheddar | 3 |
| Cheeseburger | Bleu | 1 |
| Loosey | Provolone | 4 |
| Loosey | Cheddar | 4 |
| BlackBleu | Bleu | 2 |
| MONSTERNOM | Brie | 2 |
| MONSTERNOM | Cheddar | 1 |
我想把它转换成这样:
| BurgerType | Provolone | Cheddar | Bleu | Brie |
|--------------|-----------|---------|------|------|
| Cheeseburger | 2 | 3 | 1 | 0 |
| Loosey | 4 | 4 | 0 | 0 |
| BlackBleu | 0 | 0 | 2 | 2 |
| MONSTERNOM | 0 | 1 | 0 | 2 |
1条答案
按热度按时间yhuiod9q1#
可以使用条件聚合。这个
CASE
仅在奶酪类型匹配时返回切片数,否则返回0
. 这个max()
然后取返回的最大值,即这类奶酪和汉堡的切片数。