2017-03-06 56 views
0

我希望這是一個簡單的問題,但我不確定如何接近它。假設我有一張桌子。我在那張表上做了幾個列的select語句。我想再添加一個公式列,它將顯示指定列中實例數量/值的數量以顯示。基本上這個數值已經出現多少次了。一個例子會使它更容易。SQL,表中的值實例順序

比方說,我有2列是這樣的:

col1 | col2 

Orange | mike 

Orange | tim 

Banana | john 

Banana | mike 

Orange | jimmy 

我需要得到什麼(基於COL1)是這樣的:

col1 | col2 | newcol 

Orange | mike | 1 

Orange | tim  | 2 

Banana | john | 1 

Banana | mike | 2 

Orange | jimmy |3 

我dashDB下運行。然而,我正在運行的查詢有7個JOIN語句,大量的子查詢,並且它已經被其他列「分組」了。

+1

select col1,col2,count(*)from tab1 group by col1 – rathna

+0

在這種情況下,恐怕不是那麼容易。我正在運行的查詢有7個JOIN語句,有很多子查詢,並且它已經被許多其他列「分組」了。 –

回答

1

從我的檢查DashDB支持分析功能,所以這應該工作。

select col1,col2, 
     row_number() over(partition by col1 order by col1,col2 asc) as newcol 
from mytable 
order by col1,col2; 

希望這將有助於 尼克

+0

工作,謝謝 –

1

試試這個,

通過COL1選擇COL1COL2DENSE_RANK()以上(分區由COL1秩序,col2 asc)as newcol from table_info