如果是數(shù)據(jù)累加的話,可以通過sum函數(shù)來實(shí)現(xiàn),如果是計(jì)數(shù)的話,可以通過count來實(shí)現(xiàn)。
成都一家集口碑和實(shí)力的網(wǎng)站建設(shè)服務(wù)商,擁有專業(yè)的企業(yè)建站團(tuán)隊(duì)和靠譜的建站技術(shù),十載企業(yè)及個人網(wǎng)站建設(shè)經(jīng)驗(yàn) ,為成都上1000家客戶提供網(wǎng)頁設(shè)計(jì)制作,網(wǎng)站開發(fā),企業(yè)網(wǎng)站制作建設(shè)等服務(wù),包括成都營銷型網(wǎng)站建設(shè),高端網(wǎng)站設(shè)計(jì),同時也為不同行業(yè)的客戶提供成都做網(wǎng)站、網(wǎng)站建設(shè)的服務(wù),包括成都電商型網(wǎng)站制作建設(shè),裝修行業(yè)網(wǎng)站制作建設(shè),傳統(tǒng)機(jī)械行業(yè)網(wǎng)站建設(shè),傳統(tǒng)農(nóng)業(yè)行業(yè)網(wǎng)站制作建設(shè)。在成都做網(wǎng)站,選網(wǎng)站制作建設(shè)服務(wù)商就選創(chuàng)新互聯(lián)建站。
sql:select username ,count(accountNo) as count,sum(amount) as amount
from tablename order by username desc group by username;
以上就可以求出username下,accountNo的條數(shù)和對應(yīng)的總amount,之后通過username字段降序排序。
declare
i int:=1;
j int:=0;
begin
while i=100
loop
j:=j+i;
i:=i+1;
end loop;
Dbms_Output.Put_Line(j);
end;
sum() over(partition by 字段1 order by 字段2)??
用下面這個數(shù)據(jù)集舉例。
create table tb(id int ,num ,int);
insert into tb values(1,2);
insert into tb values(2,3);
insert into tb values(3,4);
insert into tb values(4,5);
insert into tb values(5,6);
select id,num,sum(num) over(order by num) cumsum from tb;
order by 默認(rèn)為升序,添加關(guān)鍵字 desc 后為降序排列。
為了更進(jìn)一步了解這個函數(shù)的工作原理,我們增加2行數(shù)據(jù)。
insert into tb values(1,5);
insert into tb values(1,7);
在執(zhí)行一次上面那個SQL語句:
select id,num,sum(num) over(order by num) cumsum from tb;
注意看id字段,其排序已被打亂,這是按num字段升序排列的結(jié)果,所以,參數(shù)order by 起排序作用。
select id,num,sum(num) over(partition by id order by num) from tb;
按id字段分組累加,組內(nèi)按num字段排序。