我有这个表及其数据
----------------------------
| ID | NAME | TYPE | VALUE |
----------------------------
| 1 | A | YES | 10000 |
| 2 | B | NO | 100 |
| 3 | A | NO | 300 |
----------------------------
Run Code Online (Sandbox Code Playgroud)
我想知道如何在sql中获取这样的数据:
-----------------------------
| ID | NAME | YES | NO |
-----------------------------
| 1 | A | 10000 | 300 |
| 2 | B | NULL | 100 |
-----------------------------
Run Code Online (Sandbox Code Playgroud)
请帮忙
您需要透视数据才能执行此操作.
select MIN(ID) as ID, NAME ,
Max(Case when TYPE = 'Yes' then VALUE END) as `Yes`
Max(Case when TYPE = 'No' then VALUE END) as `No`
From Yourtable
Group by NAME
Run Code Online (Sandbox Code Playgroud)
注意:这假设列中只有两个可能的值(Yes&No)TYPE.
| 归档时间: |
|
| 查看次数: |
38 次 |
| 最近记录: |