Oracle
 sql >> база данни >  >> RDS >> Oracle

Поддържане на реда чрез обединение на две подредени по заявки

Много е просто:Използвайте UNION ALL вместо UNION .

SELECT * FROM (
SELECT   name,total,rate 
FROM     business b
WHERE rate > 100
ORDER BY total DESC) x
UNION ALL
SELECT * FROM (
SELECT   name,total,rate 
FROM     business b
WHERE  rate <= 100
ORDER BY rate ASC) y

UNION ALL запазва реда, както е кодиран.

UNION премахва дубликати и не гарантира ред. Повечето бази данни всъщност сортират изхода (за да улеснят откриването на дубликати).



  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. Oracle 11g:INSERT SELECT с оператор WITH

  2. Какво е името на ограничението по подразбиране в Oracle?

  3. Няма налични идентификационни данни в пакета за сигурност, когато се осъществява връзка с Oracle

  4. Вземете списък с числа между две колони с ключ

  5. Вмъкване на CLOB с помощта на cx_Oracle