sql >> Database teknologi >  >> RDS >> Mysql

MYSQL inklusive værdier for datoer med nul vareantal

REDIGERET TIL RETNING AF SVAR:

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) ;

Ovenstående forespørgsel er baseret på antagelsen:

OPDATERING af @tempeterson (OP)Major takket være @Sel. Her er sqlfiddles, der demonstrerer begge forespørgsler, jeg er interesseret i:

  1. Køb/dag for alle varer, der ejes af en enkelt bruger (f.eks. user_id=11 ):http://sqlfiddle.com/#!2/76c00/3
  2. Køb/dag for item_id=1 som ejes af user_id=11 :http://sqlfiddle.com/#!2/76c00/1

her er SQL-koden til den anden, hvis linket på en eller anden måde bliver brudt:

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. Sådan tilføjes identitetskolonne til tabel med TSQL og GUI i SQL Server - SQL Server / T-SQL vejledning del 40

  2. fejl -1054 ukendt kolonne e.id i orden klausul

  3. Begrænsning af returneret post fra SQL-forespørgsel i Oracle

  4. Er PDO-biblioteket hurtigere end de oprindelige MySQL-funktioner?