2016-10-25 85 views
-3

我有我可以在postgresql中得到這個結果嗎?

enter image description here

一個table1的是,有可能有表2:

想到的

enter image description here

+0

我在列1的相同屬性的2倍,我想擁有它只有一次。我不知道是否可以幫助找到解決方案..對不起.. – sam

+0

OUPS ..第一個表table1只有2列(column1和column1 2),我想創建第二個表..我沒有規則..我得到了table1和我想創建table2。無論如何感謝,即使沒有解決方案 – sam

+0

先試,先問。 – levi

回答

0

一種解決方案涉及的子查詢和row_number解析函數:

select 
    column1, 
    max(case when rn = 1 then column2 end) as column2, 
    max(case when rn = 2 then column2 end) as column3 
from (
    select *, row_number() over (partition by column1 order by column2) as rn 
    from table1 
) t 
group by column1 

或者您可以簡單地使用minmax規則像下面,但我喜歡的第一個更好:

select 
    column1, 
    min(column2) as column2, 
    max(column2) as column3 
from table1 
group by column1 
+0

謝謝..它的工作 – sam

相關問題