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

MySQL समूह द्वारा और खाली मानों के साथ योग का चयन करें

आप इसका उपयोग कर सकते हैं:

SELECT b.store_id, b.group_hour, IFNULL(sales_sum, 0) AS sales_sum
FROM 
(
 SELECT store_id, HOUR(sales_date) as group_hour, sum(sales_amount) as sales_sum 
 FROM sales 
 GROUP BY store_id, group_hour
) a
RIGHT OUTER JOIN 
(
  SELECT *
  FROM
  (
   SELECT DISTINCT store_id
   FROM sales
  ) all_stores
  CROSS JOIN
  (
   SELECT 10 as group_hour
   UNION ALL
   SELECT 11
   UNION ALL
   SELECT 12
   UNION ALL
   SELECT 13
   UNION ALL
   SELECT 14
   UNION ALL
   SELECT 15
  ) all_hours
) b
ON a.store_id = b.store_id AND a.group_hour = b.group_hour
ORDER BY 1, 2

मैं टेबल के साथ राइट आउटर जॉइन का उपयोग कर रहा हूं जिसमें सभी स्टोर और सभी घंटे (10 से 15 तक) शामिल हैं।




  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. मेरे `INSERT ... ON DUPLICATE KEY UPDATE` में 2 पंक्तियाँ क्यों प्रभावित हैं?

  2. mysql आदेश द्वारा, पहले अशक्त, और बाद में डीईएससी

  3. एक पंक्ति सम्मिलित करने के लिए SqlDataAdapter का उपयोग करना

  4. mysql त्रुटि:प्रति घंटे अधिकतम कनेक्शन को पार कर गया

  5. MySQL लेफ्ट जॉइन क्वेरी WHERE क्लॉज के साथ