求救ORACLE数据库的一条SQL语句,高分

coolicer 2001-12-07 02:16:48
表MYTABLE

DATE AMOUNT
-------------------- ----------
2001-09-18 180
2001-09-19 180
2001-09-20 200
2001-09-21 180
2001-09-24 180
2001-09-25 180
2001-09-26 180
2001-09-27 230
2001-09-28 230
2001-09-29 250
2001-09-30 250

根据上面的数据表
使用SQL语句查询,生成如下的结果集:
2001-09-18 1 180
2001-09-19 1 180
2001-09-20 2 200
2001-09-21 3 180
2001-09-24 3 180
2001-09-25 3 180
2001-09-26 3 180
2001-09-27 4 230
2001-09-28 4 230
2001-09-29 5 250
2001-09-30 5 250
就是数量有变化,就将序号加1,没有变化,维持当前序号。
...全文
112 点赞 收藏 8
写回复
8 条回复
切换为时间正序
当前发帖距今超过3年,不再开放新的回复
发表回复
coolicer 2001-12-08
help
回复
coolicer 2001-12-08
help
回复
coolicer 2001-12-07
TO zhouhui(菜刀) 
好像不行
回复
bjay 2001-12-07
真不明白,我记得在一般在大型数据库中记录是没有次序的。也就是说数据库并不保证在用select时两次得到相同次序的结果集。
回复
panther_totem 2001-12-07
楼上这位有没有试过啊,你的这句也行??
回复
zhouhui 2001-12-07
EASY!
约定如下table1(date,value) table2(date,num,value)

update table2 set num = num + 1 where date =(select a.date from table2 a,table1 b where a.value <> b.value group by a.date)
回复
panther_totem 2001-12-07
在游标里循环的时候把每次取得值同时在赋给另一个变量,然后再用那个变量与当前游标的取值相比,如果不等,就把那个序号加一再赋给序号本身。
回复
panther_totem 2001-12-07
只用一条SQL语句可以实现吗?如果写个PROCDURE到是可以用CURSOR来搞。
回复
相关推荐
发帖
Sybase
创建于2007-09-28

2578

社区成员

Sybase相关技术讨论区
申请成为版主
帖子事件
创建了帖子
2001-12-07 02:16
社区公告
暂无公告