कभी-कभी आपको रिपोर्टिंग और विश्लेषण के लिए पिछले 24 घंटों के रिकॉर्ड प्राप्त करने या पिछले 24 घंटों से पंक्तियों का चयन करने की आवश्यकता हो सकती है। यहां बताया गया है कि PostgreSQL का उपयोग करके पिछले 24 घंटों के रिकॉर्ड कैसे चुनें।
PostgreSQL में पिछले 24 घंटों के रिकॉर्ड प्राप्त करें
यहाँ PostgreSQL में पिछले 24 घंटों से रिकॉर्ड प्राप्त करने के लिए SQL क्वेरी है। मान लें कि आपके पास निम्न तालिका है बिक्री(order_date, राशि) ।
postgres-# create table sales(order_date timestamp, amount int);
postgres-# insert into sales(order_date,amount)
values('2020-06-07 01:00:00',200),
('2020-06-07 02:30:00',350),
('2020-06-07 04:40:00',410),
('2020-06-07 12:10:00',600),
('2020-06-07 15:00:00',300),
('2020-06-07 18:55:00',450),
('2020-06-07 21:00:00',1200),
('2020-06-08 03:00:00',800),
('2020-06-08 05:30:00',900),
('2020-06-08 07:20:00',100),
('2020-06-08 10:10:00',250),
('2020-06-08 12:05:00',300),
('2020-06-08 13:30:00',200);
postgres-# select * from sales;
+---------------------+--------+
| order_date | amount |
+---------------------+--------+
| 2020-06-07 01:00:00 | 200 |
| 2020-06-07 02:30:00 | 350 |
| 2020-06-07 04:40:00 | 410 |
| 2020-06-07 12:10:00 | 600 |
| 2020-06-07 15:00:00 | 300 |
| 2020-06-07 18:55:00 | 450 |
| 2020-06-07 21:00:00 | 1200 |
| 2020-06-08 03:00:00 | 800 |
| 2020-06-08 05:30:00 | 900 |
| 2020-06-08 07:20:00 | 100 |
| 2020-06-08 10:10:00 | 250 |
| 2020-06-08 12:05:00 | 300 |
| 2020-06-08 13:30:00 | 200 |
+---------------------+--------+ बोनस पढ़ें :PostgreSQL में अधिकतम कनेक्शन कैसे बढ़ाएं
PostgreSQL में पिछले 24 घंटों की पंक्तियाँ प्राप्त करें
PostgreSQL में पिछले 24 घंटों के रिकॉर्ड प्राप्त करने के लिए SQL क्वेरी यहां दी गई है।
postgres-# select * from sales
where order_date > now() - interval '24 hours';
+---------------------+--------+
| order_date | amount |
+---------------------+--------+
| 2020-06-07 15:00:00 | 300 |
| 2020-06-07 18:55:00 | 450 |
| 2020-06-07 21:00:00 | 1200 |
| 2020-06-08 03:00:00 | 800 |
| 2020-06-08 05:30:00 | 900 |
| 2020-06-08 07:20:00 | 100 |
| 2020-06-08 10:10:00 | 250 |
| 2020-06-08 12:05:00 | 300 |
| 2020-06-08 13:30:00 | 200 |
+---------------------+--------+ उपरोक्त SQL क्वेरी में, हम PostgreSQL सिस्टम फ़ंक्शन का उपयोग करते हैं now() वर्तमान डेटाटाइम प्राप्त करने के लिए। फिर हम उन पंक्तियों को चुनने के लिए INTERVAL क्लॉज का उपयोग करते हैं जहां order_date वर्तमान दिनांक समय के पिछले 24 घंटों के भीतर आता है।
बोनस पढ़ें :PostgreSQL प्रदर्शन ट्यूनिंग युक्तियाँ
आप समय अंतराल को घंटों के बजाय दिनों में भी निर्दिष्ट कर सकते हैं।
postgres-# select * from sales
where order_date > now() - interval '1 day';
+---------------------+--------+
| order_date | amount |
+---------------------+--------+
| 2020-06-07 15:00:00 | 300 |
| 2020-06-07 18:55:00 | 450 |
| 2020-06-07 21:00:00 | 1200 |
| 2020-06-08 03:00:00 | 800 |
| 2020-06-08 05:30:00 | 900 |
| 2020-06-08 07:20:00 | 100 |
| 2020-06-08 10:10:00 | 250 |
| 2020-06-08 12:05:00 | 300 |
| 2020-06-08 13:30:00 | 200 |
+---------------------+--------+
बोनस पढ़ें :शीर्ष 5 PostgreSQL क्वेरी निगरानी उपकरण
यदि आप केवल वर्तमान दिन के रिकॉर्ड चुनना चाहते हैं, न कि पिछले 24 घंटों के लिए, तो निम्न क्वेरी का उपयोग करें।
postgres-# select * from sales
where date_trunc('date',order_date) = current_date;
+---------------------+--------+
| order_date | amount |
+---------------------+--------+
| 2020-06-08 03:00:00 | 800 |
| 2020-06-08 05:30:00 | 900 |
| 2020-06-08 07:20:00 | 100 |
| 2020-06-08 10:10:00 | 250 |
| 2020-06-08 12:05:00 | 300 |
| 2020-06-08 13:30:00 | 200 |
+---------------------+--------+
उपरोक्त क्वेरी में, आपको पंक्तियाँ केवल वर्तमान तिथि मिलेंगी, न कि पिछले 24 घंटों में। हम केवल उन पंक्तियों का चयन करने के लिए DATE_TRUNCT फ़ंक्शन का उपयोग करते हैं जहां ऑर्डर_डेट का दिनांक मान CURRENT_DATE सिस्टम चर के दिनांक मान के समान है, अर्थात वर्तमान दिनांक।
Ubiq मिनटों में डेटा की कल्पना करना और रीयल-टाइम डैशबोर्ड में मॉनिटर करना आसान बनाता है। इसे आज ही आजमाएं!