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

प्रति घंटे गिनती प्राप्त करने की क्वेरी और यदि कोई नहीं तो शून्य

आपको घंटे उत्पन्न करने की आवश्यकता है। यहां generate_series() का उपयोग करने का एक तरीका दिया गया है :

select '00:00'::time + g.h * interval '1 hour',
       count(order_id) as orders
from generate_series(0, 23, 1) g(h) left join
     order_table ot
     on extract(hour from create_date) = g.h and
        date_trunc('day', create_date) = '2013-05-09'
group by g.h
order by g.h;

या वैकल्पिक रूप से:

select g.dte, count(order_id) as orders
from generate_series('2013-05-09'::timestamp, '2013-05-09 23:00:00'::timestamp, interval '1 hour') g(dte) left join
     order_table ot
     on g.dte = date_trunc('hour', create_date) 
group by g.dte
order by g.dte;


  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. PostgreSQL:सीरियल बनाम पहचान

  3. शीर्ष PostgreSQL सुरक्षा खतरे

  4. ड्राइवर:[ईमेल संरक्षित] URL के लिए शून्य लौटा दिया गया... हरोकू में स्प्रिंग बूट परिनियोजित करते समय

  5. रिश्तों की गिनती के आधार पर परिणाम कैसे समूहित करें