oracle,按照数字的头三个数字进行分组,并统计count大于10的分组

2024-12-15 22:36:34
推荐回答(3个)
回答1:

回答一下你的追问:
select substr('HelloWorld',6) from dual;截取从左边开始第6(含)个字符后的字符 如果是-6则表示从右开始
select substr('HelloWorld',6,2) from dual;截取从左数第6个字符后的2位 输出:Wo
所以substr(xxx,1,3)也就是从左边数第一个字符开始截取后3位得到你要的账本编号。oracle常用oracle的常用函数你可以在官档里面的book----SQL Quick Reference----SQL function 里面有介绍和example (路径不记得记错没,反正官档里面肯定有的)10g

回答2:

select substr(receiptno,1,3),count(distinct receiptno)
from purchase
group by substr(receiptno,1,3),
having count(distinct receiptno)>10

回答3:

select substr(RECEIPTNO,1,3),count(*) from PURCHASE group by substr(RECEIPTNO,1,3) having count(*) >=10;