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

रेल में ActiveRecord का उपयोग करके डेटाबेस से प्रत्येक nth पंक्ति लौटाएं

मुझे लगता है कि आप इस तरह की क्वेरी की तलाश में हैं:

SELECT * FROM (SELECT widgetstats.*, row_number() OVER () AS rownum FROM widgetstats ORDER BY id) stats WHERE mod(rownum,3) = 0

ActiveRecord का उपयोग करके इसे बनाना मुश्किल है, इसलिए आपको कुछ ऐसा करने के लिए मजबूर किया जा सकता है:

@widgetstats = self.widgetstats.find_by_sql(
  %{
    SELECT * FROM
    (
      SELECT widgetstats.*, row_number() OVER () AS rownum FROM widgetstats ORDER BY id
    ) AS stats
    WHERE mod(rownum,3) = 0
  }
)

आप स्पष्ट रूप से उपयोग किए गए ऑर्डरिंग को बदलना चाहेंगे और अपनी आवश्यकताओं के अनुरूप WHERE क्लॉज या अन्य संशोधन जोड़ना चाहेंगे।



  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. Postgresql:डेटाबेस ट्रिगर में सिंगल कोट्स से कैसे बचें?

  2. आईडी के आधार पर लाखों पंक्तियों को हटाने का सबसे अच्छा तरीका

  3. एकाधिक स्तंभों के लिए चयन और सम्मिलित करें के बीच दौड़ की स्थिति

  4. पोस्टग्रेएसक्यूएल पर ब्लॉब को BYTEA में मैप करने के लिए फोर्स लिक्विबेस

  5. PostgreSQL में एक तारीख से महीना निकालें