Search code examples
mysqlsqlspagobi

how to order by month name chronologically instead of alphabetically?


I would like to get the month names to be in chronological order instead of alphabetically ordered. Here is my Sql code.

select  SUM(montant_ht)as Achat ,monthname(dim_date.date) as mois 
from operation_odoo  
join dim_date on operation_odoo.id_date_facturation = dim_date.id_date
where (operation_odoo.id_type_op=1) and (dim_date.Annee= ? or ? is null )
group by mois

Solution

  • You can order by the month. I would recommend:

    order by month(max(dim_date.date))
    

    As for your query, I would propose:

    select monthname(d.date) as mois,
           sum(o.montant_ht)as Achat 
    from operation_odoo o join
         dim_date d
         on o.id_date_facturation = d.id_date
    where o.id_type_op = 1 and
          ( d.Annee= ? or ? is null )
    group by mois
    order by month(max(d.date));