有一个看似简单的需求,请高手帮忙看看有没有办法实现。
table
字段一,字段二
a,1
a,4
a,7
b,2
b,5
b,8
c,3
c,6
c,9
需求为:要查询字段一,并去掉重复的记录,并且以字段二顺序排序。
就本人个人认为该需求无法实现,大家也可以说说对这个需求的看法。
(希望大家最好能先测试一下自己的sql然后再发言)
table
字段一,字段二
a,1
a,4
a,7
b,2
b,5
b,8
c,3
c,6
c,9
需求为:要查询字段一,并去掉重复的记录,并且以字段二顺序排序。
就本人个人认为该需求无法实现,大家也可以说说对这个需求的看法。
(希望大家最好能先测试一下自己的sql然后再发言)
解决方案 »
- expr<>all是什么表达式哦
- EXP备份的问题
- 新手求助:帮忙看看一个存储过程,总是提示"错误: PLS-00103: 出现符号 ""在需要下列之一时:constant exception"
- cursor不能获得参数(100分)
- 请教一个有关Oracle9i代理程序的问题
- 关于OID的一些基础不太明白的地方请教
- #rollback问题?
- vc中怎么调用返回记录集的存取过程,急!急!
- SQl迁移到Oracle中碰到问题了!请各位指教!
- 请问如何在PL/SQL中创建一个新的Transaction,并且使用这个Transaction,有分,在线等待QQ:1720120 mail:[email protected]
- 求一句SQL!
- 能否用一个sql实现以下功能
where no exists
(
select 1
from (select 字段一,字段二
from (select a.*,row_number() over(partition by 字段一 order by 字段二 desc) rn
from table a.*)
where rn=1
) bwhere c.字段一=b.字段一 and c.字段二=b.字段二)
a 1 4 7
b 2 5 8
c 3 6 9
b,2
c,3
很简单a 1
4
7
b,2
5
8
c,3
6
9
也很简单(分析函数),不知道你要做什么
字段一,字段二,字段三
a 1 8
a 2 10
b 1 2
b 2 3
b 3 12
c 2 7
c 4 9
--------------
最後的需求如下
name 1 2 3 4 ...(根據字段二的不重復的值)
a 8 10 0 0
b 2 3 12 0
c 0 7 0 9
'''(根據字段一的不重復的值)
2 FROM (
3 SELECT FIELD1,
4 DENSE_RANK() OVER(ORDER BY FIELD1) "DR"
5 FROM TABLE_NAME T
6 )TTT
7 UNION
8 SELECT NULL,
9 FIELD2,
10 DR
11 FROM (
12 SELECT FIELD2,
13 DENSE_RANK() OVER(ORDER BY FIELD1) "DR"
14 FROM TABLE_NAME T
15 )TT
16 ORDER BY DR,1,2 DESC;FIELD1 FIELD2 DR
------ ---------- ----------
A 1
7 1
4 1
1 1
B 2
8 2
5 2
2 2
C 3
9 3
6 3
3 312 rows selectedSQL>