如何在Oracle 9i中对特定列进行分组
请帮我解决我的疑问,我在oracle9i中得到了这样的输出如何在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
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上,这是可能的,但很困难。