sql >> Database >  >> RDS >> Mysql

Query om totale bestellingen te krijgen die vorig jaar door een specifieke klant zijn geplaatst, haalt herhaalde datums op wanneer er geen bestelling bestaat

Gebruik deze zoekopdracht om de totale bestellingen te tellen die het afgelopen jaar maandelijks door een bepaalde klant zijn geplaatst:

SELECT MONTHNAME(c.datefield) AS Month, 
    YEAR(CURRENT_DATE - INTERVAL 1 YEAR) AS Year, 
    IFNULL(o.TotalOrders, 0) AS Orders 
    FROM calendar AS c 
    LEFT JOIN (
        SELECT MONTH(o.order_date) AS Month, 
        YEAR(o.order_date) AS Year, 
        COUNT(o.customer_id) AS TotalOrders 
        FROM orders AS o 
        WHERE YEAR(o.order_date) = YEAR(CURRENT_DATE - INTERVAL 1 YEAR) AND o.customer_id = 329 
        GROUP BY Month) AS o 
    ON MONTH(c.datefield) = o.Month 
    GROUP BY MONTH(c.datefield)



  1. Kan geen tabel maken (errno:150) op FOREIGN KEY

  2. SELECTEER uit tabel met Varying IN-lijst in WHERE-clausule

  3. Numerieke waarde buiten bereik:1264 in mysql

  4. Many to Many binnen Many to Many Table