如果PHONENUMBER是NUMBER形.则.
select min(PHONENUMBER) as start,max(PHONENUMBER) as end
from (
select PHONENUMBER,(PHONENUMBER-row_number()over(order by PHONENUMBER)) rn
from tablename)
group by rn字符形的话用TO_NUMBER转换.
select min(PHONENUMBER) as start,max(PHONENUMBER) as end
from (
select PHONENUMBER,(PHONENUMBER-row_number()over(order by PHONENUMBER)) rn
from tablename)
group by rn字符形的话用TO_NUMBER转换.
解决方案 »
- oracle,函数如何实现,列里的字符排序
- Oracle PL/SQL转VB.NET或者Java
- vista安装oracle9i的问题
- DRG-10602: 无法将 DML 更改排成列 的问题
- 关于oracle10g的表分区的几个问题!请帮忙!
- 查詢結果比較
- 数据排序后,怎么样获取第一条,下一条,上一条,最末一条的记录?
- 误用update语句将表中数据全更新了一遍.....如何再恢复回来..救命...(有归档日志)
- 创建一个用户后怎么在VB.NET里可以选择和更新表?
- ##### Delphi连接Oracle数据库的问题,在线等待 #####
- 请问Oracle 10G的安装!
- ORACLE中的 工作空间 和 表空间 的区别?
SELECT B.PHONENUMBER STA, C.PHONENUMBER END
FROM
(SELECT A.PHONENUMBER, DENSE_RANK() OVER(ORDER BY A.PHONENUMBER) ID
FROM TEST A
WHERE A.PHONENUMBER NOT IN (SELECT TEST.PHONENUMBER + 1 FROM TEST)) B ,
(SELECT A.PHONENUMBER, DENSE_RANK() OVER(ORDER BY A.PHONENUMBER) ID
FROM TEST A
WHERE A.PHONENUMBER NOT IN (SELECT TEST.PHONENUMBER - 1 FROM TEST)) C
WHERE B.ID = C.ID
有如下的数据
sdate encode count
-------- -------- ------
2006-1-1 1001 5
2006-1-1 1002 11
2006-1-2 1002 7
2006-1-2 1003 1
2006-1-3 1003 5
2006-1-3 1003 21
2006-1-4 1001 18
2006-1-4 1002 10现在想要得到如下形式的数据
sdate encode
-------- -------
2006-1-2 1001
2006-1-3 1001
2006-1-3 1002求SQL语句
请达人解惑!
sbaz(万神渡劫) 是正解,只需要将保留字改一下
谢谢
但可以解释下吗?看不明白