oracle listagg() 函式用法(參照例子)
工作中經常遇到很多需求是這樣的,根據條件彙總某些欄位,比如公司有三個投資平臺,同一個客戶拿手機號在三個平臺都註冊了,但註冊過的使用者名稱不一樣,顯示的時候需要根據手機號顯示所有註冊過的名稱。(我用的是oracle資料庫)
1、原始資料是這樣的,如圖:
2、要求顯示成這樣,如圖:
3、具體實現:
select phone, listagg(log_name, ',') within group(order by phone) logName
from int_phone
where phone = '13350162230'
group by phone
4、需要注意的事項如下:
(1). 必須得分組,也就是說group by是必須的。
(2). listagg函式的第一個引數是需要顯示的欄位,也就是log_name;第二個引數是數值之間的分隔符;同時還需要進行排序和分組within group (order by name)
相關推薦
oracle listagg() 函式用法(參照例子)
工作中經常遇到很多需求是這樣的,根據條件彙總某些欄位,比如公司有三個投資平臺,同一個客戶拿手機號在三個平臺都註冊了,但註冊過的使用者名稱不一樣,顯示的時候需要根據手機號顯示所有註冊過的名稱。(我用的是oracle資料庫) 1、原始資料是這樣的,如圖: 2、要求顯示成這樣,如
ORACLE SQL 函式 INITCAP()
INITCAP() 假設c1為一字串.函式INITCAP()是將每個單詞的第一個字母大寫,其它字母變為小寫返回. 單詞由空格,控制字元,標點符號等非字母符號限制. select initcap('hello world') from dual; 結果 INITCAP('HE
c++中函式的基本用法(學生筆記)
使用函式首先要定義函式。 例如: void printmessage() { cout<<“How do you do!”<<endl;} 函式呼叫時應明白形式引數和實際引數的區別。 例如: void abc(int a,int b,int c) 其中a,b,c就為形
Oracle層級查詢語句(hierarchical query)connect by 用法詳解
摘要: 1、connect by中的條件就表示了父子之間的連線關係,比如 connect by id=prior pid。 2、prior,表示在一表上,prior所在列pid的某一值A的記錄行的父親是列id上值等於列pid上值A的記錄行。 3、LEVEL偽列
什麼是建構函式注入(Constructor Injection)——一個具體的依賴注入例子
Disclaimer: Almost all of this was "stolen" from the Ninject Wiki 什麼是建構函式注入呢,建構函式注入是不是就是一個具體的依賴注入呢,下面給個例子來解釋: 構造器注入就是一個具體的依賴注入的例子: Le
unix_timestamp 時間戳函式用法(hive)
一、unix_timestamp函式用法 1、unix_timestamp() 得到當前時間戳 2、如果引數date滿足yyyy-MM-dd HH:mm:ss形式,則可以直接unix_timestamp(string date) 得到引數對應的時間戳
srand()以及rand()函式用法(zz)
srand()就是給rand()提供種子seed 如果srand每次輸入的數值是一樣的,那麼每次執行產生的隨機數也是一樣的, srand(n) for(10) rand()也就是說,以一個固定的數值作為種子是一個缺點。 通常的做法是 以這樣一句程式碼srand((u
Oracle——distinct的用法(效率)
distinct這個關鍵字來過濾掉多餘的重複記錄只保留一條,但往往只用 它來返回不重複記錄的條數,而不是用它來返回不重記錄的所有值。其原因是distinct只有用二重迴圈查詢來解決,而這樣對於一個數據量非常大的站來說,無疑是會直接影響到效率的。 下面先來看看例子: table表 欄位1 欄位2
HttpClient用法--這一篇全瞭解(內含例子)
HttpClient相比傳統JDK自帶的URLConnection,增加了易用性和靈活性,它不僅使客戶端傳送Http請求變得容易,而且也方便開發人員測試介面(基於Http協議的),提高了開發的效率,也方便提高程式碼的健壯性。因此熟練掌握HttpClient是很重要的必修內容,
關於oracle LISTAGG函式的用法(以某個欄位相同情況下,將對應的另一個欄位連線起來)
SELECT department_id "Dept.", LISTAGG(last_name, '; ') WITHIN GROUP (ORDER BY hire_date) "Employees" FROM employees GROUP BY d
C++ system函式用法(C)
int system( const char *command ); int _wsystem( const wchar_t *command ); command: Command to be executed sample: //system.c #include <process.h&
match函式和(?:)的用法
對於這個表示式,?:的功能是在匹配結果中忽略掉(in|of)的分組,在match匹配中他的返回會被忽略,這裡正則被分為3個子集,第二子集忽略,字串expression,首先是整個正則與字串匹配,然後是子集與字串匹配,結果如下: 但是如果為結尾有g,那麼這個結果就將只有全
vector最最最基礎用法(非原創)
sort排序 兩個 src per pre 開始 程序 -1 logs 在c++中,vector是一個十分有用的容器,下面對這個容器做一下總結。 1 基本操作 (1)頭文件#include<vector>. (2)創建vector對象,vector<int
Java 設計模式學習筆記1——策略模式(Duck例子)
利用 實例化 top 而是 實現 學習筆記 left ng- 多個 0、假設現有工程(Duck)中遇到為類添加功能的問題,如何設計類添加新的功能? 1、利用繼承提供的Duck(鴨子)的行為會導致哪些缺點? (1)代碼在多個子類中重復 (2)很多男知道所有鴨子的全部行為
sscanf的最基礎用法(非原創)
urn clas 參數 detail tail include sca min col 1 #include<stdio.h> 2 #include<stdlib.h> 3 #include<string.h> 4 5 in
AWK的用法(持續更新)
awk方法比較笨,算是做一個總結,習慣用AWK進行取值,下面以free -m為例來舉例!!!持續更新,看到的網友也可以留言的形式來一起更新內容,謝謝例子:[root@130 ~]# free -m total used free shared b
oracle -- 數據塊(data Block)
性能問題 創建 行為 情況 參數 data 性能 鏈接 一定的 基本關系:數據庫---表空間---數據段---分區---數據塊數據塊(data Block)一、數據塊Block是Oracle存儲數據信息的最小單位。這裏說的是Oracle環境下的最小單位。Oracle也就是通
記一些stl的用法(持續更新)
spa style str https tps sdf sub name span 有些stl不常用真的會忘qwq,不如在這裏記下來,以後常來看看 C++中substr函數的用法 1 #include<string> 2 #include&
Oracle備份和恢復(RMAN篇)
RMAN ORACLE 張晨 前言:歡迎加QQ交流1445696451微博地址http://blog.51cto.com/13434336~~~~~~~分割~~~~~~數據庫備份與恢復是數據庫管理員必須掌握的。沒有任何系統能免遭硬盤物理損壞、粗心用戶的錯誤操作、或一些可能會威脅到存儲數據的潛在災難
Oracle Database Data Pump(expdp/impdp)
ica esc master art pac ddr starting sin card 導出 SQL> host mkdir /tmp/tpccdump SQL> create directory tpcc_dump as '/tmp/tpccdu