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