mysql - 如何按时间顺序而不是字母顺序按月份名称排序?

标签 mysql sql spagobi

我想让月份名称按时间顺序排列,而不是按字母顺序排列。这是我的 SQL 代码。

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

最佳答案

您可以按月订购。我会推荐:

order by month(max(dim_date.date))

对于您的问题,我建议:

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));

关于mysql - 如何按时间顺序而不是字母顺序按月份名称排序?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/53763059/

相关文章:

php - mysqli查询没有结果

c# - 在组合框中写入

birt - 如何在 Birt Report 中使用给定参数循环查询

java - SpagoBI 多值参数

带有 WHERE 子句和 INNER JOIN 的 MySQL 更新查询不起作用

mysql - SQL - 查找最接近当前日期的日期

mysql - 如何使用mysql更新同一个表中的值?

mysql - 如何按周、月从mysql获取给定日期范围组的数据

php - 如何在 Windows 开发环境的 PHP 中将 PDO 与 MSSQL 结合使用?

tomcat - 如何在 AWS 实例上设置 SpagoBI