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

PostgreSQL क्वेरी पिछले सप्ताह से डेटा का चयन करने के लिए?

यह स्थिति पिछले सप्ताह रविवार से शनिवार तक रिकॉर्ड लौटाएगी:

WHERE created BETWEEN
    NOW()::DATE-EXTRACT(DOW FROM NOW())::INTEGER-7 
    AND NOW()::DATE-EXTRACT(DOW from NOW())::INTEGER

एक उदाहरण है:

WITH compras AS (
    SELECT ( NOW() + (s::TEXT || ' day')::INTERVAL )::TIMESTAMP(0) AS created
    FROM generate_series(-20, 20, 1) AS s
)
SELECT to_char( created, 'DY'::TEXT), created
FROM compras
WHERE created BETWEEN
    NOW()::DATE-EXTRACT(DOW FROM NOW())::INTEGER-7 
    AND NOW()::DATE-EXTRACT(DOW from NOW())::INTEGER

@d456 के जवाब में:

ठीक है, BETWEEN अंतराल के दोनों सिरों पर रविवार की मध्यरात्रि शामिल है। रविवार की मध्यरात्रि को अंतराल के अंत में बाहर करने के लिए ऑपरेटरों का उपयोग करना आवश्यक है >= और < :

WITH compras AS (
    SELECT s as created
    FROM generate_series( -- this would produce timestamps with 20 minutes step
             (now() - '20 days'::interval)::date,
             (now() + '20 days'::interval)::date,
             '20 minutes'::interval) AS s
)
SELECT to_char( created, 'DY'::TEXT), created
FROM compras
WHERE TRUE
    AND created >= NOW()::DATE-EXTRACT(DOW FROM NOW())::INTEGER-7
    AND created <  NOW()::DATE-EXTRACT(DOW from NOW())::INTEGER


  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. Runtime.getRuntime().exec संकेत दिए जाने पर पैरामीटर पास करने के लिए

  3. PostgreSql 'PDOException' संदेश के साथ 'ड्राइवर नहीं मिल सका'

  4. PostgreSql का उपयोग करके Ireports में छवि प्रदर्शित करना

  5. पोस्टग्रेएसक्यूएल ऑटोइन्क्रिमेंट