我有一个SQL查询来选择以下结果。
|Port| Type|Size|
_________________
|JKT | D40 | 10 |
|JKT | D50 | 20 |
|ABC | D30 | 10 |
|KFC | D50 | 20 |
我想把结果放到如下表中,JKT,ABC,KFC都没有修复。
|D30 | D40 | D50 <<< this is fix in the table.
JKT | 0 | 10 | 20
ABC | 10 | 0 | 0
KFC | 0 | 0 | 50
我在JSP中这样做,因为环境问题我在Notepad ++中这样做,无论如何我只需要逻辑。请指导。
答案 0 :(得分:1)
在selec port,
sum(case when type = 'd30' then size else 0 end) as d30,
sum(case when type = 'd40' then size else 0 end) as d40,
sum(case when type = 'd50' then size else 0 end) as d50
from table
group by port
中没有group concat
语法,因此可以使用条件聚合执行此操作:
MySql pivoting
如果有很多端口,那么您可以使用{{1}}功能。寻找{{1}}。例如MySQL pivot table