2011-09-15 49 views
-5

我已經有一個數據見下表提到:SQL查詢以下問題

Name 
    ---- 
    ram 
    ram 
    ram 
    sita 
    sita 
    sita 

現在我需要把出象下面這樣:

ram 
sita 
ram 
sita 
ram 
sita 

被任何人知道答案嗎?

+5

這是很少去。請提供一些更詳細的信息,表格結構,您正在使用的查詢,相關表格等等...... –

+1

您準確的標準是什麼?如果'Name'既不是'ram'也不是'sita'? –

+1

-1,這是一個形式很差的問題。它沒有給我們什麼回答你。 – Ollie

回答

3

您可以用解析函數ROW_NUMBER()做到這一點:

select name from 
    (select name 
      , row_number() over (partition by name order by id) as rn 
     from your_table 
order by rn, name 
/

你需要一列命令的名稱:我建議的ID,但不知道你的表中有哪些列。


上面是Oracle語法。 T-SQL可能支持不同的語法。

2
declare @T table(Name varchar(5)) 

insert into @T values 
('ram'), 
('ram'), 
('ram'), 
('sita'), 
('sita'), 
('sita') 

select Name 
from @T  
order by row_number() over(partition by Name order by Name), Name