Oracle的order by case when
今天單位一位同事問我,說在一個select裡的order by 後面接了 case when是什麼意思?例子如下:
- order by CASE WHEN ref.IS_TOP=1 THEN 1 ELSE 0 END DESC
-
SQL> SELECT EMPNO, ENAME, DEPTNO
-
FROM SCOTT.EMP A
-
ORDER BY CASE WHEN A.DEPTNO = 20 THEN 1 ELSE 0 END DESC;
-
-
EMPNO ENAME DEPTNO
-
---------- ---------- ----------
-
7902 FORD 20
-
7788 SCOTT 20
-
7876 ADAMS 20
-
7369 SMITH 20
-
7566 JONES 20
-
7839 KING 10
-
7844 TURNER 30
-
7900 JAMES 30
-
7934 MILLER 10
-
7698 BLAKE 30
-
7654 MARTIN 30
-
-
EMPNO ENAME DEPTNO
-
---------- ---------- ----------
-
7521 WARD 30
-
7499 ALLEN 30
-
7782 CLARK 10
-
- 14 rows selected.
-
SQL> SELECT EMPNO, ENAME, DEPTNO
-
FROM SCOTT.EMP A
-
ORDER BY CASE WHEN A.DEPTNO = 20 THEN 1 ELSE 0 END ASC; 2 3
-
-
EMPNO ENAME DEPTNO
-
---------- ---------- ----------
-
7782 CLARK 10
-
7900 JAMES 30
-
7844 TURNER 30
-
7839 KING 10
-
7934 MILLER 10
-
7499 ALLEN 30
-
7521 WARD 30
-
7654 MARTIN 30
-
7698 BLAKE 30
-
7788 SCOTT 20
-
7566 JONES 20
-
-
EMPNO ENAME DEPTNO
-
---------- ---------- ----------
-
7902 FORD 20
-
7876 ADAMS 20
-
7369 SMITH 20
-
- 14 rows selected.
和我們預期的一致,dept等於20的在最下面。
總結:
假如需要讓一個列的某些值排序的話,可以用這個方法哦。
來自 “ ITPUB部落格 ” ,連結:http://blog.itpub.net/20893244/viewspace-2146478/,如需轉載,請註明出處,否則將追究法律責任。
相關文章
- SQLServer使用case when中的order bySQLServer
- Oracle case when改寫SQLOracleSQL
- sqlserver使用order by case when進行優先順序排序SQLServer排序
- Oracle vs PostgreSQL Develop(30) - Index&Case whenOracleSQLdevIndex
- case when 語句
- mysql中case when的使用MySql
- Oracle 條件索引 case when 報錯解決方案Oracle索引
- sql case when, Exist ,group by ,聚合SQL
- SQL Server CASE WHEN ... THEN ... ELSE ... ENDSQLServer
- Oracle group by與case when統一單位後統計數量Oracle
- SQL語句case when外用sum與count的區別SQL
- SQL中的case when then else end用法 【詳細】轉載SQL
- When Rubber Meets the Road: Unveiling the Curious Case of Volvo Truck Engine Failures!AI
- MySQL中case?when對NULL值判斷的踩坑記錄RTGYMySqlNull
- oracle order by索引是否使用的情況Oracle索引
- 語法解析器續:case..when..語法解析計算
- 雲端計算學習路線圖素材、課件,msyql中CASE WHEN語法
- Oracle EBS when-validate-record 個性化無效果Oracle
- Django筆記二十三之case、when操作條件表示式搜尋、更新等操作Django筆記
- Oracle 11g新特新--SQL Test Case BuilderOracleSQLUI
- oracle 19c sec_case_sensitive_logon引數問題OracleGo
- Laravel query when 的查詢Laravel
- drools中的條件 when
- 【每日一包0013】to-capital-case,to-constant-case,to-dot-caseAPI
- CSS orderCSS
- Java switch caseJava
- Java Case InterviewJavaView
- Order by 優化優化
- order by與索引索引
- Golang switch case 的使用注意點Golang
- java中的switch case語句Java
- mysql order by是怎麼工作的?MySql
- SQL CASE 表示式SQL
- [case39]聊聊jdk httpclient的executorJDKHTTPclient
- go select case的一個小坑Go
- @Transactional 四種不生效的 case 分析
- mysql order by 優化MySql優化
- CSS3 orderCSSS3
- [Javascript] Object property orderJavaScriptObject