sql >> Database >  >> RDS >> Mysql

SQL-query om te sorteren en unieke telling te bereiken

U kunt voorwaardelijke aggregatie als volgt gebruiken:

Select stage, 
       count(case when year = 2019 then 1 end) as year2019, 
       count(case when year = 2020 then 1 end) as year2020 
From
(Select t.*, 
        row_number() over (partition by customer, year
          order by case when dealstage = 'won' the 1 
                        When dealstage = 'contacted' then 2
                       else 3 end) as rn
    From your_table t) t
Where rn = 1
Group by stage;



  1. Oracle:manier om een ​​niet-gegroepeerde kolom samen te voegen in gegroepeerde resultaten

  2. Is er een PostgreSQL-equivalent van SQL Server-profiler?

  3. Voer een query uit met samenvoeg- en door komma's gescheiden waarden in kolom in Laravel

  4. Wat is de standaardwaarde van VARCHAR2 in Oracle?