第七色在线视频,2021少妇久久久久久久久久,亚洲欧洲精品成人久久av18,亚洲国产精品特色大片观看完整版,孙宇晨将参加特朗普的晚宴

為了賬號(hào)安全,請(qǐng)及時(shí)綁定郵箱和手機(jī)立即綁定
已解決430363個(gè)問(wèn)題,去搜搜看,總會(huì)有你想問(wèn)的

DB2逗號(hào)分隔輸出(按組)

DB2逗號(hào)分隔輸出(按組)

12345678_0001 2019-10-21 10:26:20
是否有內(nèi)置的函數(shù)用于逗號(hào)分隔的列值DB2 SQL?示例:如果存在帶有的列,ID并且它具有3行相同的列,ID但具有三個(gè)不同的角色,則數(shù)據(jù)應(yīng)以逗號(hào)連接。ID   | Role------------4555 | 24555 | 34555 | 4每行輸出應(yīng)類(lèi)似于以下內(nèi)容:4555 2,3,4
查看完整描述

3 回答

?
慕容森

TA貢獻(xiàn)1853條經(jīng)驗(yàn) 獲得超18個(gè)贊

LISTAGG函數(shù)是DB2 LUW 9.7中的新函數(shù)


參見(jiàn)示例:


create table myTable (id int, category int);


insert into myTable values (1, 1);

insert into myTable values (2, 2);

insert into myTable values (5, 1);

insert into myTable values (3, 1);

insert into myTable values (4, 2);

示例:在分組列中不按任何順序進(jìn)行選擇


select category, LISTAGG(id, ', ') as ids from myTable group by category;

結(jié)果:


CATEGORY  IDS

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

1         1, 5, 3

2         2, 4

示例:在分組列中使用order by子句進(jìn)行選擇


select

  category,

  LISTAGG(id, ', ') WITHIN GROUP(ORDER BY id ASC) as ids

from myTable

group by category;

結(jié)果:


CATEGORY  IDS

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

1         1, 3, 5

2         2, 4


查看完整回答
反對(duì) 回復(fù) 2019-10-21
?
臨摹微笑

TA貢獻(xiàn)1982條經(jīng)驗(yàn) 獲得超2個(gè)贊

我認(rèn)為通過(guò)這個(gè)較小的查詢(xún),您可以做您想做的事情。這等效于DB2中MySQL的GROUP_CONCAT。


SELECT 

NUM, 

SUBSTR(xmlserialize(xmlagg(xmltext(CONCAT( ', ',ROLES))) as VARCHAR(1024)), 3) as ROLES

FROM mytable 

GROUP BY NUM;

這將輸出類(lèi)似:


NUM   ROLES

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

1     111, 333, 555

2     222, 444

假設(shè)您的原始結(jié)果是這樣的:


NUM   ROLES

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

1     111

2     222

1     333

2     444

1     555


查看完整回答
反對(duì) 回復(fù) 2019-10-21
?
楊魅力

TA貢獻(xiàn)1811條經(jīng)驗(yàn) 獲得超6個(gè)贊

根據(jù)您擁有的DB2版本,可以使用XML函數(shù)來(lái)實(shí)現(xiàn)此目的。


帶有一些數(shù)據(jù)的示例表


create table myTable (id int, category int);

insert into myTable values (1, 1);

insert into myTable values (2, 2);

insert into myTable values (3, 1);

insert into myTable values (4, 2);

insert into myTable values (5, 1);

使用xml函數(shù)匯總結(jié)果


select category, 

    xmlserialize(XMLAGG(XMLELEMENT(NAME "x", id) ) as varchar(1000)) as ids 

    from myTable

    group by category;

結(jié)果:


CATEGORY IDS

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

        1 <x>1</x><x>3</x><x>5</x>

        2 <x>2</x><x>4</x>

使用替換使結(jié)果看起來(lái)更好


select category, 

        replace(

        replace(

        replace(

            xmlserialize(XMLAGG(XMLELEMENT(NAME "x", id) ) as varchar(1000))

            , '</x><x>', ',')

            , '<x>', '')

            , '</x>', '') as ids 

    from myTable

    group by category;

清理結(jié)果


CATEGORY IDS

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

        1 1,3,5

        2 2,4

剛看到使用XMLELEMENT的XMLTEXT而不是一個(gè)更好的解決方案在這里。


查看完整回答
反對(duì) 回復(fù) 2019-10-21
  • 3 回答
  • 1 關(guān)注
  • 3113 瀏覽
慕課專(zhuān)欄
更多

添加回答

舉報(bào)

0/150
提交
取消
微信客服

購(gòu)課補(bǔ)貼
聯(lián)系客服咨詢(xún)優(yōu)惠詳情

幫助反饋 APP下載

慕課網(wǎng)APP
您的移動(dòng)學(xué)習(xí)伙伴

公眾號(hào)

掃描二維碼
關(guān)注慕課網(wǎng)微信公眾號(hào)