我有一张表格,如下所述:
Name
----
ram
ram
ram
sita
sita
sita
现在我需要如下所示:
ram
sita
ram
sita
ram
sita
是否有人知道答案?
答案 0 :(得分: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可能支持不同的语法。
答案 1 :(得分: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