欧美一区二区三区老妇人-欧美做爰猛烈大尺度电-99久久夜色精品国产亚洲a-亚洲福利视频一区二区

oracle如何分類小計,oracle小計用什么函數(shù)

Oracle如何對一個多值字段進(jìn)行分組統(tǒng)計

CREATE??TABLE??info?(

大埔網(wǎng)站制作公司哪家好,找創(chuàng)新互聯(lián)!從網(wǎng)頁設(shè)計、網(wǎng)站建設(shè)、微信開發(fā)、APP開發(fā)、自適應(yīng)網(wǎng)站建設(shè)等網(wǎng)站項目制作,到程序開發(fā),運營維護(hù)。創(chuàng)新互聯(lián)于2013年開始到現(xiàn)在10年的時間,我們擁有了豐富的建站經(jīng)驗和運維經(jīng)驗,來保證我們的工作的順利進(jìn)行。專注于網(wǎng)站建設(shè)就選創(chuàng)新互聯(lián)

users????varchar(100)

);

INSERT?INTO?info?VALUES('userA@userB@userC');

INSERT?INTO?info?VALUES('userB@userC@userD');

INSERT?INTO?info?VALUES('userC@userD@userE');

COLUMN?"用戶"?FORMAT?A15

SELECT

to_char(strvalue)?as?"用戶",

count(*)?AS?"用戶數(shù)"

FROM

info,

table(fn_split(?info.users,??'@'))

GROUP?BY

to_char(strvalue)

ORDER?BY

1;

用戶????????????????用戶數(shù)

---------------?----------

userA????????????????????1

userB????????????????????2

userC????????????????????3

userD????????????????????2

userE????????????????????1

上面這樣的效果, 是否滿足你的需求?

如果滿足的話, 你再往下看, 下面是 存儲過程的相關(guān)代碼

Oracle?需要首先在數(shù)據(jù)庫中,?創(chuàng)建好?類型?與?函數(shù)。

來實現(xiàn)一個??split?功能的處理。

--?定義一個對象類型.

CREATE?OR?REPLACE?TYPE?ty_row_str_split?as?object?(strValue?VARCHAR2?(4000));

/

--?定義一個?表/數(shù)組類型,?內(nèi)容是前面定義的那個對象.

CREATE?OR?REPLACE?TYPE?ty_tbl_str_split?IS?TABLE?OF?ty_row_str_split;

/

--------------------

--?字符分割函數(shù).

--?參數(shù)1:??被分割的源字符串

--?參數(shù)2:??用于拆分的字符串。

--------------------

CREATE?OR?REPLACE?FUNCTION?fn_split(

p_str???????IN?VARCHAR2,

p_delimiter?IN?VARCHAR2)

RETURN?ty_tbl_str_split?IS

j?????????INT?:=?0;

i?????????INT?:=?1;

--?被分割的源字符串?的長度.

len???????INT?:=?0;

--?分隔字符串的長度

len1??????INT?:=?0;

--?暫存的中間每一個單元的文本信息.

str???????VARCHAR2(4000);

--?預(yù)期返回結(jié)果.

str_split?ty_tbl_str_split?:=?ty_tbl_str_split();

BEGIN

--?被分割的源字符串?的長度.

len???:=?LENGTH(p_str);

--?分隔字符串的長度.

len1?:=?LENGTH(p_delimiter);

--?遍歷?被分割的源字符串.

WHILE?j??len?LOOP

--?在被分割的源字符串中,?查詢?分隔字符串.

j?:=?INSTR(p_str,?p_delimiter,?i);

IF?j?=?0?THEN

--?j=0?意味著沒有找到.

??--?可以理解為是查詢到最后一個單元了.

??--?設(shè)置?j?:=?len,?讓外部的循環(huán)處理可以結(jié)束了.

j??:=?len;

--?獲取最后一個單元的內(nèi)容.

str?:=?SUBSTR(p_str,?i);

--?結(jié)果追加一行.

str_split.EXTEND;

--?設(shè)置結(jié)果內(nèi)容.

str_split(str_split.COUNT)?:=?ty_row_str_split(strValue?=?str);

IF?i?=?len?THEN

EXIT;

END?IF;

ELSE

--?如果在被分割的源字符串中,找到了?分隔字符串.

--?首先,獲取分割的內(nèi)容.

str?:=?SUBSTR(p_str,?i,?j?-?i);

--?然后設(shè)置索引,?下一次再查找的時候,從指定的索引位置開始(不是從0開始找了)

i?:=?j?+?len1;

--?結(jié)果追加一行.

str_split.EXTEND;

--?設(shè)置結(jié)果內(nèi)容.

str_split(str_split.COUNT)?:=?ty_row_str_split(strValue?=?str);

END?IF;

END?LOOP;

RETURN?str_split;

END?fn_split;

/

函數(shù)創(chuàng)建完畢以后,可以開始做查詢的處理.

SQL?select?to_char(strvalue)?as?Value?from?table(fn_split('aa,bb,cc',','));

VALUE

-------------------------------------------------------------------------------

aa

bb

cc

oracle 中如何將查詢到的i.suc_amount按x分別進(jìn)行小計,最后總計,應(yīng)該是用rollup,sql應(yīng)該怎么改?

你試試

Select o.org_desc || '_' || i.b_company x,

i.trade_time,

i.cust_name,

i.order_id,

sum(i.suc_amount) over(partition by o.org_desc || '_' || i.b_company),

i.plug_id,

i.b_company,

sum(i.suc_amount) over()

from t_ec_trade_info i, t_ec_org_mapping o

where i.b_company = o.org_biz_numb

and (i.b_company is not null)

order by i.b_company desc

oracle 小計合計查詢問題?

不知道你所謂小計是什么意思,你可以看看下面的效果

select case when ID is null then '合計'

when CODE is null then '小計' else to_char(ID) end,

CODE,total

from (

select ID,CODE,sum(NUMBER) total from tttt

group by rollup(ID,CODE)

)

如果不是上面的意思 那么用開窗函數(shù)看看

SELECT ID,CODE,NUMBER

sum(NUMBER) OVER(partition by ID,CODE ORDER BY NUMBER ROWS BETWEEN UNBOUNDED PRECEDING AND CURRENT ROW)

FROM tttt;

oracle查詢分類匯總怎么寫

試試這樣:

SELECT a.Deptcode 部門,

a.id ID,

a.NAME 姓名,

a.ITEM 物品名稱,

sum(a.QTY) 數(shù)量,

sum(a.COST) 金額

from itemlist A

where a.Fee_Date=TO_DATE('2015-3-29','YY-MM-DD')

AND a.FEE_DATE=TO_DATE('2015-3-30','YY-MM-DD')

AND a.QTY'0'

group by a.Deptcode ,

a.id ,

a.NAME ,

a.ITEM

order by 6 desc

oracle的select語句實現(xiàn)分類匯總

Oracle Select語句的作用是在表單中查詢數(shù)據(jù),本文將為大家?guī)鞸elect語句的詳細(xì)用法介紹。

SELECT語句使用方法

在Oracle中,表是由列和行組成。 例如,示例數(shù)據(jù)庫中的customers表具有以下列:customer_id,name,address,website和credit_limit。customers表中這些列中也有對應(yīng)的數(shù)據(jù)。

要從表的一個或多個列(column_1,column_2,…,column_n)中檢索數(shù)據(jù),請使用以下語法的SELECT語句:

在這個SELECT語句中:

首先,需要指定要查詢數(shù)據(jù)的表名。

其次,指定想要返回數(shù)據(jù)的列。 如果需要返回多個列,則需要用逗號(,)將這些列分隔。

注意,SELECT語句非常復(fù)雜,由許多子句組成,如ORDER BY,GROUP BY,HAVING,JOIN。 為了簡單起見,在本教程中,我們只關(guān)注SELECT和FROM子句的用法。

教程來源:樹懶學(xué)堂_一站式數(shù)據(jù)知識平臺_Oracle Select語句

Oracle數(shù)據(jù)庫分類匯總方法

如果是分別顯示,可以寫成兩條語句:

select

avg(salary),deptno

from

a

group

by

deptno;

select

avg(salary),companyno

from

a

group

by

companyno;

如果需要用一條SQL實現(xiàn),使用CUBE函數(shù):

select

avg(salary),deptno,companyno

from

a

group

by

cube(deptno,companyno);

網(wǎng)頁標(biāo)題:oracle如何分類小計,oracle小計用什么函數(shù)
網(wǎng)頁URL:http://chinadenli.net/article35/dsisgpi.html

成都網(wǎng)站建設(shè)公司_創(chuàng)新互聯(lián),為您提供動態(tài)網(wǎng)站全網(wǎng)營銷推廣自適應(yīng)網(wǎng)站響應(yīng)式網(wǎng)站網(wǎng)站收錄App開發(fā)

廣告

聲明:本網(wǎng)站發(fā)布的內(nèi)容(圖片、視頻和文字)以用戶投稿、用戶轉(zhuǎn)載內(nèi)容為主,如果涉及侵權(quán)請盡快告知,我們將會在第一時間刪除。文章觀點不代表本網(wǎng)站立場,如需處理請聯(lián)系客服。電話:028-86922220;郵箱:631063699@qq.com。內(nèi)容未經(jīng)允許不得轉(zhuǎn)載,或轉(zhuǎn)載時需注明來源: 創(chuàng)新互聯(lián)

成都網(wǎng)站建設(shè)公司