Warning: file_get_contents(/data/phpspider/zhask/data//catemap/7/sql-server/21.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
以下问题的Sql查询_Sql_Sql Server_Oracle_Sql Server 2008 - Fatal编程技术网

以下问题的Sql查询

以下问题的Sql查询,sql,sql-server,oracle,sql-server-2008,Sql,Sql Server,Oracle,Sql Server 2008,我有一个表包含以下数据: Name ---- ram ram ram sita sita sita 现在我需要像下面这样输出: ram sita ram sita ram sita 有人知道答案吗?您可以使用分析函数ROW_NUMBER()来实现这一点: 您将需要一列来对名称进行排序:我已经提出了ID,但不知道您的表有哪些列 以上是Oracle语法。可能支持不同的语法。这方面的内容很少。请提供更详细的信息、表结构、您当前使用的查询、相关表等。您的确切标准是什

我有一个表包含以下数据:

  Name
  ----
  ram
  ram
  ram
  sita
  sita
  sita
现在我需要像下面这样输出:

ram
sita
ram
sita
ram
sita

有人知道答案吗?

您可以使用分析函数ROW_NUMBER()来实现这一点:

您将需要一列来对名称进行排序:我已经提出了ID,但不知道您的表有哪些列



以上是Oracle语法。可能支持不同的语法。

这方面的内容很少。请提供更详细的信息、表结构、您当前使用的查询、相关表等。您的确切标准是什么?如果
Name
既不是
ram
也不是
sita
?-1,这是一个非常糟糕的问题。我想他想要的是每个值的所有第一个匹配项,然后所有第二个,etcname是列名,而这只是表中的一列。
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
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