mysql - 同一个语句中的分组依据和排序依据(每月)

标签 mysql group-by sql-order-by

是否可以在同一个语句中进行分组依据和排序依据?下面的语句以随机顺序输出月份。它产生正确的数字等,但是我想按顺序显示月份,如一月、二月、三月、四月等

SELECT coalesce(date_format(TRANSACTION_DATE, '%M'), 'Grand Total') AS MONTH,
ROUND(SUM(SALES_AMOUNT),2) TOTAL, SUM(QUANTITY) AS TOTAL_QUANTITY
FROM SALES
WHERE YEAR(TRANSACTION_DATE) = 2018
GROUP BY month WITH ROLLUP;

April       30826.68    476
August      39703.85    619
December    36986.16    515
February    34531.15    463
January     45163.22    596
July        37640.08    506
June        37284.25    496
March       44194.98    621
May         39016.04    576
November    39161.90    521
October     34447.61    485
September   34958.94    498
            453914.86   6372

最佳答案

Is is possible to group by and order by in the same statement? Yes, that is possible just you need to work around it.

如果您可以从此查询中删除汇总,则可以进行如下排序:

SELECT coalesce(date_format(TRANSACTION_DATE, '%M'), 'Grand Total') AS MONTH, ROUND(SUM(SALES_AMOUNT),2) TOTAL, SUM(QUANTITY) AS TOTAL_QUANTITY FROM SALES WHERE YEAR(TRANSACTION_DATE) = 2018 GROUP BY month order by month(TRANSACTION_DATE) asc;

关于mysql - 同一个语句中的分组依据和排序依据(每月),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/49949810/

相关文章:

java - 我应该使用什么属性类型来保留日期和月份,而不是年份?

php - WordPress |将内容从主编辑器批量移动到自定义字段

mysql - 如何计算 1 个月的用户留存率

sql - 组合排序

php - 如何通过字段下订单但内部有条件?

mysql - 触发器编辑mysql中的其他表

python - 如何对具有非数值的数据框进行分组和透视

mysql - 从 group by 子句中选择 Count(*) > 1 的行

ruby-on-rails - 事件记录中的订单条款和限制

mysql - 在mySQL中获取没有子查询的GROUP BY查询的最大值