PostgreSQL
 sql >> डेटाबेस >  >> RDS >> PostgreSQL

Postgresql में किसी सरणी के किसी भी आकार के सभी संयोजन (सबसेट) कैसे खोजें?

निम्न फ़ंक्शन अनुरोधित आकार के सभी संयोजनों को प्रति पंक्ति एक संयोजन के साथ पंक्तियों के एक सेट के रूप में उत्पन्न करता है:

create or replace function get_combinations(source anyarray, size int) returns setof anyarray as $$
 with recursive combinations(combination, indices) as (
   select source[i:i], array[i] from generate_subscripts(source, 1) i
   union all
   select c.combination || source[j], c.indices || j
   from   combinations c, generate_subscripts(source, 1) j
   where  j > all(c.indices) and
          array_length(c.combination, 1) < size
 )
 select combination from combinations
 where  array_length(combination, 1) = size;
$$ language sql;

यह फ़ंक्शन सरणी प्रकार में बहुरूपी है।




  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. WAMP पर पोस्टग्रेएसक्यूएल का एकीकरण

  3. टेक्स्ट कॉलम को पोस्टग्रेज करता है जो केवल लोअरकेस की अनुमति देता है/रूपांतरित करता है और कोई विशेष वर्ण नहीं है जैसे:öáè

  4. पोस्टग्रेज में पूर्णांक मिनटों को अंतराल में कैसे बदलें

  5. पोस्टग्रेस्क्ल के साथ इन्सर्ट इग्नोर और डुप्लिकेट की अपडेट (एसक्यूएल मर्ज) का अनुकरण कैसे करें?