id name dm hmq hmz time
3 wang 01 0001 0025 2010-01-01
4 wang 01 0001 0025 2010-01-02
8 wang 01 0002 0024 2010-01-03
10 wang 06 0020 0050 2010-01-01
11 wang 06 0021 0050 2010-01-10
15 li 01 0001 0025 2010-05-04
18 li 01 0001 0025 2010-05-05
19 zhao 02 0075 0085 2010-04-03根据姓名name,代码dm,号码段(号码起始hmq,号码截至hmz)分组,但是同样的姓名name,代码dm,号码段有可能包含在上一条记录中,只要求查询得到每个人每种代码的最新的一条记录就可以了
也就是下面的结果
8 wang 01 0002 0024 2010-01-03
11 wang 06 0020 0050 2010-01-10
18 li 01 0001 0025 2010-05-05
19 zhao 02 0075 0085 2010-04-03
3 wang 01 0001 0025 2010-01-01
4 wang 01 0001 0025 2010-01-02
8 wang 01 0002 0024 2010-01-03
10 wang 06 0020 0050 2010-01-01
11 wang 06 0021 0050 2010-01-10
15 li 01 0001 0025 2010-05-04
18 li 01 0001 0025 2010-05-05
19 zhao 02 0075 0085 2010-04-03根据姓名name,代码dm,号码段(号码起始hmq,号码截至hmz)分组,但是同样的姓名name,代码dm,号码段有可能包含在上一条记录中,只要求查询得到每个人每种代码的最新的一条记录就可以了
也就是下面的结果
8 wang 01 0002 0024 2010-01-03
11 wang 06 0020 0050 2010-01-10
18 li 01 0001 0025 2010-05-05
19 zhao 02 0075 0085 2010-04-03
解决方案 »
- 大家帮我看看我的存储过程哪里出错了啊?
- 请教,又是一道送分的题目。
- 这个过程报错说数组错误?但是不知道错在那?请大家指导
- 菜鸟问题
- 问大家安装完oracle后开机会自动加载三个进程owastsvr.exe、tnslsnr.exe、oracle.exe这三个分别是起到什么作用??
- 关于Oracle Net Configuration Assistant 的配置问题
- vc ado + oracle 开发 ,一次入2G 数据到一半数据量时客户端cpu利用率100% 就不再入数据了,在线等。。急。。。
- 如何查询远程数据库中的LOB字段?
- 在P4的机器上安装Oracle8.17,为何不能安装???
- Oracle行转列问题
- 请教各位一个关于数据库表记录拆分的解决办法
- 使用odp.net实现客户端不装oracle Client连接oracle,报无法加载OraOps10.dll
group id,name,dm,hmq;
group id,name,dm,hmz;
from (select max(id) keep(dense_rank last order by hmq, time) over(partition by name, dm) as rn,
test.*
from test)
where rn = id
order by id
from (select t.*,
row_number() over(partition by t.name, t.dm order by t.time desc) rn
from test1 t)
where rn = 1