如何在Oracle 9i中对特定列进行分组

如何在Oracle 9i中对特定列进行分组,oracle,oracle9i,Oracle,Oracle9i,请帮我解决我的疑问,我在oracle9i中得到了这样的输出 S.No Column1 Column2 ---- ---------- ------- 1 10/11/2011 Basic 2 10/11/2011 Basic 3 12/05/2012 Basic 4 12/05/2012 Basic 5 13/05/2012 Basic

请帮我解决我的疑问,我在oracle9i中得到了这样的输出

S.No    Column1      Column2  
----    ----------   -------
 1      10/11/2011   Basic   
 2      10/11/2011   Basic       
 3      12/05/2012   Basic       
 4      12/05/2012   Basic       
 5      13/05/2012   Basic        
但我的实际情况是,我需要在下面的结构中填充输出

S.No    Column1      Column2  
----    ----------   -------
 1      10/11/2011   Basic   
        10/11/2011   Basic       
 2      12/05/2012   Basic       
        12/05/2012   Basic       
 3      13/05/2012   Basic   

我不知道如何形成查询,如何检索结构,请帮助我,请任何人为我提供解决方案。提前感谢这里有一种方法

SELECT CASE
          WHEN r = 1
             THEN w
          ELSE NULL
       END as s_no, column1, column2
  FROM (SELECT column1, column2,
               ROW_NUMBER () OVER (PARTITION BY column1 ORDER BY column2) AS r,
               DENSE_RANK () OVER (ORDER BY column1) AS d
          FROM SAMPLE);
在此函数为column1组中的每一行返回唯一的编号。 函数向列1的每组返回唯一的秩。 使用此选项,您可以选择仅显示第一行的密集列


SQL Fiddle

你是在连接两个表吗?不,这是一个表。你的意思是,你有两条记录用于1
S。不
?是的,两条记录是一个表。我不明白你为什么要这样做。您可以在前端完成,但在sql上,这是可能的,但很困难。