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

В SQL, как мога да генерирам всяка възможна уникална комбинация от 5!56?

Ако под „уникални комплекти“ имате предвид това, което мисля, че правите (съжалявам, не знам APL!), можете да напишете:

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
;

Да, има трик на Oracle за генериране на данни в движение, използвайки йерархичната заявка и 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. Имам вмъкване в израз, но има грешка със запетая и просто не мога да я поправя

  2. Динамичен курсор Oracle

  3. JDBC ResultSet:Имам нужда от getDateTime, но има само getDate и getTimeStamp

  4. Как да премахнете правилната подплата в името на деня в Oracle

  5. как да създадете таблица за наследяване в Oracle