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

Trong SQL, Làm cách nào để tạo mọi kết hợp duy nhất có thể có của 5! 56?

Nếu theo "bộ duy nhất", ý bạn là tôi nghĩ bạn làm (xin lỗi, tôi không biết APL!), Bạn có thể viết:

SELECT e1.number,   e2.number,   e3.number,   e4.number,   e.number
  FROM elements e1, elements e2, elements e3, elements e4, elements e5
 WHERE e1.number < e2.number
   AND e2.number < e3.number
   AND e3.number < e4.number
   AND e4.number < e5.number
;

Có, có một thủ thuật Oracle để tạo dữ liệu nhanh chóng, sử dụng truy vấn phân cấp và cú pháp CTE:

WITH elements AS
( select rownum as number
  from dual
  connect by level <= 56 )
SELECT e1.number,   e2.number,   e3.number,   e4.number,   e.number
  FROM elements e1, elements e2, elements e3, elements e4, elements e5
 WHERE e1.number < e2.number
   AND e2.number < e3.number
   AND e3.number < e4.number
   AND e4.number < e5.number
;


  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. ORA-31011:Phân tích cú pháp XML không thành công - các ký tự không hợp lệ (oracle sql)

  2. Oracle PL / SQL:Chuyển tiếp toàn bộ hàng tới thủ tục từ một trình kích hoạt

  3. Cách chạy tập lệnh SQL Plus trong PowerShell

  4. Oracle Dynamic Pivoting

  5. Tại sao tôi có ORA-00904 ngay cả khi cột này hiện diện?