PostgreSQL
 sql >> Teknologi Basis Data >  >> RDS >> PostgreSQL

Kombinasi PostgreSQL berbeda dari permutasi

WITH  RECURSIVE 

     A(i) AS (SELECT * FROM unnest(ARRAY['A,B'])),
     B(j) AS (SELECT * FROM unnest(ARRAY['A','B','C','D'])),

     cte AS (  SELECT j AS combo, j, 1 AS ct 
               FROM B 
             UNION ALL 
               SELECT cte.combo ||','||B.j, B.j, ct + 1 
               FROM cte, B
               WHERE ct <= 4
                AND position(B.j in cte.combo) = 0
            )
    , com AS ( SELECT A.i ||','|| B.j AS cmb
               FROM A
               CROSS JOIN B)

     SELECT ARRAY(SELECT cmb FROM cte,com where cte.combo = com.cmb)



  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. Koneksi ditutup di tengah operasi saat mengakses database menggunakan Python

  2. PostgreSQL:Temukan izin untuk elemen, jelajahi hingga root

  3. Apakah Postgresql varchar dihitung menggunakan panjang karakter unicode atau panjang karakter ASCII?

  4. Memperbaiki tabel TOAST yang rusak

  5. Deteksi jika baris telah diperbarui atau dimasukkan