oracle中distinct和count函式組合使用
oracle中的distinct關鍵字和count函式需要經常組合起來使用
例如,如果我們拿到一個僅有員工基本資訊的列表,我們希望得到這個公司共有多少個部門。
我們可以這樣做:
select count(a.deptno) from (select distinct deptno from scott.emp) a;
但這樣做太複雜了,我們可以將discint和count函式用在一起
例如:
select count(distinct deptno) from scott.emp;
二者效果是一樣的。
相關推薦
oracle中distinct和count函式組合使用
oracle中的distinct關鍵字和count函式需要經常組合起來使用 例如,如果我們拿到一個僅有員工基本資訊的列表,我們希望得到這個公司共有多少個部門。 我們可以這樣做: select count(a.deptno) from (select distinct deptno
oracle中distinct和group by的區別
其實二者沒有什麼可比性,但是對於不包含聚集函式的GROUP BY操作來說,和DISTINCT操作是等價的。不過雖然二者的結果是一樣的,但是二者的執行計劃並不相同。 在Oracle9i中: SQL> SELECT * FROM V$VERSION; BANNER -------
oracle 中sum和count的區別
例1:查詢出現過2次的name。 往往初學者會錯誤地認為在where 語句裡直接使用count()演算法,很顯然這個想法是錯誤的,count()方法並不能被用在where子句中,為了解決問題,我們可以在group by子句後面使用HAVING來做條件限制。 錯誤做法:select * from aaa
oracle中LPAD和RPAD函式的使用方法
今日學習遇到一個不熟悉的函式LPAD,查了一下文件,將其用法總結如下: Lpad Function:在PL/SQL中用於往源字串的左側填充一些字元。 函式引數:lpad( string1, padded_length, [ pad_string ] ) 其中 string1
oracle中decode()和nvl()函式的用法
decode(待比較的物件,如果為這個,那麼結果為這個,否則結果是這個) nvl (test,1) 判斷是否為空,如果為空就取1 select * from 表名 where 1=1 and instr(a,b)
關於Oracle中instr和wm_concat函式的使用
先建立兩張表 instr是字元查詢函式,如果找到會返回第一次出現的位置,我們可以用作模糊查詢,例如: select * from table2 where instr(table1Id, '1') > 0 結果為: 可以看到查詢出來的是table1I
Oracle 中distinct 和order by 同時使用,可能出現的問題
事例在Oracle資料庫中執行SQL: select distinct name from tableName order by id 原本想過濾name欄位重複值,並按照id進行排序,但是SQL報錯,無法執行。 原因:SELECT語句中含有DISTINCT關
Oracle中instr、substr函式的使用和split功能的實現
substr(str,index1,n) 取字串str,位置index1後面的n個字元,index1取1或0都代表第一個字元。 instr(str,sub,dire,t
Oracle中distinct的用法例項以及Oracle distince 用法和刪除重複資料
Oracle中distinct的用法例項 摘要: 此外,distinct 會對返回的結果集進行排序 所以會大大影響查詢效率,大資料集時比較明顯 。所以,最好和order by 結合使用,可以提高效率 。 select distinct a,b,c from t;表t裡列
Oracle中時間日期轉化函式to_date和to_char用法總結
在實際的工作中會經常會用到to_char()、to_date()函式來對時間、日期進行處理。 1、to_char()函式的用法 1.1、將時間日期按照指定的格式輸出,得到的是字串,而非date型別。 select sysdate,to_char(sysdate,'y
oracle中LAG()和LEAD()等分析統計函式的用法(統計月增長率)
LAG()和LEAD()統計函式可以在一次查詢中取出同一欄位的前N行的資料和後N行的值。這種操作可以使用對相同表的表連線來實現,不過使用LAG和 LEAD有更高的效率。以下整理的LAG()和LEAD()例子: LAG(EXPRESSION,<OFFSET>
使用SQL語句統計資料時sum和count函式中使用if判斷條件
首先舉個栗子(不想看的話直接下面看總結): order_type:訂單型別 open_id:使用者唯一標識 SELECT date(create_time) AS '當天日期', sum(real_price) AS '當天總收入',
oracle中rownum和row_number()
cnblogs 計算 順序分配 每一個 total tom ins 使用 div row_number()over(partition by col1 order by col2)表示根據col1分組,在分組內部根據col2排序,而此函數計算的值就表示每組內部排序後的順序編
Oracle中chr()和ascii()函數(附:常用字符與ascii對照表)
關鍵字 回車 pps body api adding com eve amp Oracle中chr()和ascii()函數(附:常用字符與ascii對照表) 關鍵字:chr() chr()函數作用:“特殊”字符特殊處理 在PLSql中可查詢相對應的字碼與特殊符 chr()函
ORACLE中NVLl和COALESCE的區別
oracl 第一個 ssi 必須 如果 不一致 miss 兩個 oal nvl(COMMISSION_PCT,0)如果第一個參數為null,則返回第二個參數如果第一個參數為非null,則返回第一個參數 COALESCE(EXPR1,EXPR2,EXPR3...EXPRn)從
Oracle中Blob和Clob
oracl rac clas 存儲 tchar ring jdbc input inpu Blob是指二進制大對象也就是英文Binary Large Object的所寫;Clob是指大字符對象也就是英文Character Large Object的所寫。因此這兩個類型都是用
ORACLE中SID和SERVICE_NAME的區別
spring 好的 java應用程序 系列 sdn 文件 數據 jdbc 修改 先來講一個小故事,2015年6月份,有個客戶遷移了數據庫,由單實例數據庫變成了RAC。JAVA應用程序出現了無法連接數據庫的情況,但是PL/SQL能連接上數據庫。由於項目比較龐大,
除錯經驗——使用自定義函式在Oracle中實現類似LISTAGG函式的行轉列(字串連線)功能
問題描述: LISTAGG函式是一個很實用的函式,但僅在Oracle 11.2以後的版本中才有。 生產環境中有個資料庫是Oracle 11.1,需要行轉列,但並不能使用LISTAGG函式。 解決方法: 參考以下文章: https://oracle-base.com/artic
解釋python中join()和split()函式
join能讓我們將指定字元新增至字串中 a=','.join('123456') print(a) print(type(a)) #1,2,3,4,5,6 #<class 'str'> split()能讓我們用指定字元分割字串 a='1,2,3,4
c++ 中min和max 函式
包含在c++標準庫中標頭檔案中,在標頭檔案<windows.h>中定義了min,max的巨集,若在包含的同時包含<windows.h>會導致函式無法使用。 <windows.h>提供了_cpp_min等函式來代替min函式的功能。 C++11標準: