2017-04-15 77 views
0
table name : data 

我的數據庫表:MySQL查詢創建的表

id  range number  value 

1   a  no1  100 
2   b  no1  101 
3   a  no2  102 
4   c  no2  103 
5   a  no3  104 
6   b  no3  105 

我需要輸出像

range no1 no2 no3 

a  100 102 104 
b  101 0 105 
c  0  103 0 

請人幫我寫MySQL查詢:((((

+0

你想要什麼?價值的總和還是價值的最大值? – alirakiyan

+0

處理應用程序代碼中的數據顯示問題 – Strawberry

+0

我不需要總和,我需要安排範圍明智的數據...示例a有10個數字(no10)和b有9個數字(no9)我需要排列這個數字在行只有智慧 – Prabhakaran

回答

0

您可以使用條件聚合來做到這一點:

select range, 
     max(case when number = 'no1' then value else 0 end) as no1, 
     max(case when number = 'no2' then value else 0 end) as no2, 
     max(case when number = 'no3' then value else 0 end) as no3 
from t 
group by range;