现在我有一个问题,有一张表,里面存的是票信息(这个票可以说是数据记录),票有合格和不合格的两种,而且票得负责人有很多个,怎样统计出每一个人(是每一个人)在不合格票之间的合格票数。
俺是真没思路啊
oracle能实现么?
页面代码使用的jsp,也可以用润乾报表。
假设票ID为SHEETID,判断是否合格为ISHG(值为“合格”和“不合格”),负责人为PERSON
先谢谢大家了,给个思路也行
俺是真没思路啊
oracle能实现么?
页面代码使用的jsp,也可以用润乾报表。
假设票ID为SHEETID,判断是否合格为ISHG(值为“合格”和“不合格”),负责人为PERSON
先谢谢大家了,给个思路也行
————————————
SHEETID PERSON ISHG
10000 张三 合格
10001 李四 不合格
10002 李四 合格
………………结果:
——————————
连续百张无差错奖励表:
责任人 第100张票号
张三 20001
张三 20101比如这样
select person,ishg,count(*) cnt
from sheet
group by person,ishg
having count(*)>=100
路过,看看能不能解决。如果按楼主的要求,非要连续100张都合格才统计的话,就不是一般的SQL能实现的了。
表SHEET:
————————————
SHEETID PERSON ISHG time
10000 张三 合格 2011-01-01 00:00:00
10001 李四 不合格 2011-01-02 00:00:00
10002 李四 合格 2011-01-03 00:00:00
………………结果:
——————————
连续百张无差错奖励表:
责任人 第100张票号
张三 20001
张三 20101
是连续的,不是只统计
select sheetid, person, ishg,row_number()over(partition by person, ishg order by time) rn from sheet)
GROUP BY person, ishg,ROWNUM-rn
having Count(*)=100