如果快速查找出Oracle数据库表中异常的几条记录?小弟在线等待高人指点。。。

hjl_168562 2011-10-12 08:09:19
一个表有四个字段,分别是id(primary key),number(库存数),amount(钱)

问题是这样的:客户录入库存数目一般情况下是比较稳定的一个数字,然后某一段时间突然数值变动很大,远小于这个平均数值,让你查处这几笔记录
...全文
149 3 打赏 收藏 转发到动态 举报
写回复
用AI写文章
3 条回复
切换为时间正序
请发表友善的回复…
发表回复
xiaobn_cn 2011-10-13
  • 打赏
  • 举报
回复
你少给了一个时间列,不能求平均值,就必须得有时间线,然后就使用分析函数吧:
select * 
from (select id, number, amount, lag(amount, 1) over(parttion by entertime) pamount from table1)
where pamount - amount > :波动判定值
hjl_168562 2011-10-12
  • 打赏
  • 举报
回复
问题的关键就是要如何避免求表中所有记录数的平均值,如果数据量很大的话,求所有库存数的平均值可能很耗时,要是知道平均值的话,此题就一点难度都没有了。。。。
秋雨飘落 2011-10-12
  • 打赏
  • 举报
回复
远小于这个平均数值
给个范围,小于多少,
首先求出平均值,然后判断

3,499

社区成员

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

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