sql >> Database >  >> RDS >> Oracle

Hoe kan ik in SQL elke mogelijke unieke combinatie van 5!56 genereren?

Als je met "unieke sets" bedoelt wat ik denk dat je doet (sorry, ik ken APL niet!), dan kun je schrijven:

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
;

Ja, er is een Oracle-truc om gegevens on-the-fly te genereren, met behulp van de hiërarchische query en de CTE-syntaxis:

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. MySQL zoek exact woord met $ in woord

  2. Hulp nodig bij sql-query om dingen te vinden die zijn getagd met alle opgegeven tags

  3. Instellingen voor MySql-querycache

  4. Verkrijg de waarden van de afgelopen 6 maanden in mysql