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

Forespørgsel for at få samlede ordrer afgivet af en bestemt kunde i sidste år henter gentagne datoer, hvor der ikke eksisterer nogen ordre

For at tælle det samlede antal ordrer, der er afgivet månedligt sidste år af en bestemt kunde, skal du bruge denne forespørgsel:

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. UNPIVOT på et ubestemt antal kolonner

  2. Mysql sum af poster efter måned for de sidste 12 måneder

  3. Eksempel på Java i Oracle-database

  4. Få fat i data fra MySQL ved hjælp af PHP i realtid?