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

Kan du hjælpe med at ændre forespørgslen eller anden forespørgsel for at få det forventede resultat

I henhold til dit databaseskema, hvis du bare vil have dit forventede resultat, så prøv at følge sql;)

select 
    case source_id when 1 then 'online' when 2 then 'visit' when 3 then 'phone' end as `Type`,
    sum(if(month(date_created) = 5, total_price, 0)) as `May`,
    sum(if(month(date_created) = 6, total_price, 0)) as `June`
from `orders`
where date_created between (curdate() - interval 1 month) and curdate()
group by source_id 

SQLFiddle DEMO HER .




  1. Hvordan kan jeg tælle antallet af indlæg?

  2. Hvordan overvåger man MySQL-plads?

  3. Import af InnoDB-partitioner i MariaDB 10.0/10.1

  4. En use case for sp_prepare / sp_prepexec