我有一个这样的表:
ITEM PICTURE CATEGORY STOCK
1 Mickey Shirt 3
2 Mickey Jacket 2
3 Donald Jacket 0
4 Donald Shirt 6
5 Donald Hoodie 1
6 Mickey Hoodie 3
7 Goofy Shirt 1
8 Goofy Hoodie 2
9 Goofy Jacket 3
ITEM列自动递增
我需要这样的输出:
PICTURE HOODIE JACKET SHIRT
Donald 1 0 6
Goofy 2 3 1
Mickey 3 2 3
知道如何产生该输出吗?谢谢
最佳答案
您可以使用CASE
表达式。
查询
select PICTURE,
sum(case CATEGORY when 'Hoodie' then STOCK else 0 end) as `HOODIE`,
sum(case CATEGORY when 'Jacket' then STOCK else 0 end) as `JACKET`,
sum(case CATEGORY when 'Shirt' then STOCK else 0 end) as `SHIRT`
from your_table_name
group by PICTURE;
关于mysql - 在 SQL 查询中创建自定义列,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/46680810/