Oracle
 sql >> Cơ Sở Dữ Liệu >  >> RDS >> Oracle

Giữ trật tự từ mệnh đề 'IN'

Sẽ không có thứ tự đáng tin cậy trừ khi bạn sử dụng điều khoản ORDER BY ..

SELECT SomeField,OtherField
FROM TestResult 
WHERE TestResult.SomeField IN (45,2,445,12,789)
order by case TestResult.SomeField
         when 45 then 1
         when 2  then 2
         when 445 then 3
         ...
         end

Tuy nhiên, bạn có thể chia truy vấn thành 5 truy vấn kết hợp với nhau ...

SELECT SomeField,OtherField
FROM TestResult 
WHERE TestResult.SomeField = 4
union all
SELECT SomeField,OtherField
FROM TestResult 
WHERE TestResult.SomeField = 2
union all
...

Tôi tin tưởng phương pháp cũ hơn và nó có thể sẽ hoạt động tốt hơn nhiều.



  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. Xử lý yêu cầu đồng thời trong khi vẫn tiếp tục trong cơ sở dữ liệu oracle?

  2. Làm thế nào để có được nhân viên với người quản lý của họ

  3. Thay đổi khóa chính

  4. Hàm LENGTH () trong Oracle

  5. Bản ghi PLSQL trong Oracle là gì