求救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,没有变化,维持当前序号。
...全文
135 8 打赏 收藏 转发到动态 举报
AI 作业
写回复
用AI写文章
8 条回复
切换为时间正序
请发表友善的回复…
发表回复
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来搞。

2,598

社区成员

发帖
与我相关
我的任务
社区描述
Sybase相关技术讨论区
社区管理员
  • Sybase社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧