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

MYSQL जिसमें शून्य आइटम गणना वाली तिथियों के मान शामिल हैं

उत्तर सुधारने के लिए संपादित:

http://sqlfiddle.com/#!2/ae665/4

SELECT date_format(datefield,'%Y-%m-%d') AS DATE, IFNULL(counts, 0), item_id FROM 
    dates a
LEFT JOIN 
    (SELECT COUNT(*) as counts, purchase_date,user_id,item_id 
     FROM items_purchased 
     WHERE item_id=1
     GROUP BY date(purchase_date),item_id )r 
ON date(a.datefield) = date(r.purchase_date) ;

उपरोक्त क्वेरी धारणा पर आधारित है:

अपडेट @timpeterson (OP) द्वारा @Sel को प्रमुख धन्यवाद। मेरी रुचि के दोनों प्रश्नों को प्रदर्शित करने वाले sqlfiddles यहां दिए गए हैं:

  1. एक ही उपयोगकर्ता के स्वामित्व वाले सभी आइटम के लिए खरीदारी/दिन (उदा., user_id=11 ):http://sqlfiddle.com/#!2/76c00/3
  2. item_id=1 . के लिए खरीदारी/दिन जिसका स्वामित्व user_id=11 . के पास है :http://sqlfiddle.com/#!2/76c00/1

लिंक के किसी तरह टूट जाने की स्थिति में दूसरे कोड का SQL कोड यहां दिया गया है:

SELECT date_format(datefield,'%Y-%m-%d') AS DATE, 
IFNULL(countItem, 0), item_id
FROM dates a
LEFT JOIN 
(SELECT countItem, purchase_date,i.user_id,p.item_id FROM (
   SELECT count(*) as countItem, purchase_date,user_id,item_id 
   FROM items_purchased 
   GROUP BY date(purchase_date),item_id
   ) p 
 inner join items i
 on i.item_id=p.item_id
 WHERE p.item_id='1' and i.user_id='11' //just get rid of "p.item_id='1'" to produce the 1st query result
)r 
ON date(a.datefield) = date(r.purchase_date);



  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. जब मैं क्वेरी निष्पादित करता हूं तो SQL सिंटैक्स त्रुटि

  3. mysql में :=ऑपरेटर का क्या अर्थ है?

  4. दो या दो से अधिक फ़ील्ड से सबसे बड़ा मान

  5. मुझे अपने MySQL निर्यात में CSV को HTML क्यों मिल रहा है?