我有一张类似于下图所示的表格。
-----------------------------
JOB ID | parameter | result |
-----------------------------
1 | xyz | 10 |
1 | abc | 15 |
2 | xyz | 12 |
2 | abc | 8 |
2 | mno | 20 |
-----------------------------
我想要如下所示的结果。
parameter | result 1 | result 2 |
----------------------------------
xyz | 10 | 12 |
mno | NULL | 20 |
abc | 15 | 8 |
----------------------------------
我的目标是拥有一个可以比较两个不同作业的结果值的表。它可以是两个或多个工作。
最佳答案
你想模拟一个数据透视表,因为 mysql 没有数据透视表。
select
param,
max(case when id = 1 then res else null end) as 'result 1',
max(case when id = 2 then res else null end) as 'result 2'
from table
group by param
关于mysql - SQL 查询比较同一列中但由两组不同查询返回的两个值,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/36900744/