MySQL 如何对这个查询进行排序?

标签 mysql sql sorting

我有以下查询:

SELECT 
    DATE_FORMAT( DATE, '%M' ) AS MONTH,
    DATE_FORMAT( DATE, '%y' ) AS YEAR,
    DEVICE,
    COUNT( * ) AS cnt
FROM users
GROUP BY YEAR, MONTH, DEVICE

我正在尝试按年和月进行排序,例如:

  • 11 月 11 日
  • 12 月 11 日
  • 1 月 12 日
  • ...

我该怎么做?

最佳答案

您可以使用MySQL YEARMONTHGROUPORDER BY 子句中:

SELECT
DATE_FORMAT( DATE, '%M' ) AS MONTH,
DATE_FORMAT( DATE, '%y' ) AS YEAR,
DEVICE,
COUNT( * ) AS cnt
FROM users
GROUP BY YEAR(DATE), MONTH(DATE), DEVICE
ORDER BY YEAR(DATE), MONTH(DATE)

您也可以将 DATE_FORMAT( DATE, '%y' ) 替换为 YEAR(DATE)

关于MySQL 如何对这个查询进行排序?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/10632856/

相关文章:

ios - 如何对包含自定义对象的 NSMutableArray 进行排序?

algorithm - 如何将排序列表合并为 O(n * log(k)) 中的单个列表

c# - 用于自定义排序列表的 Lambda 表达式

mysql - 在 django 中加速 mysql 查询/mysql View

mysql - 错误 1045 : Transferring SQL database from one server to another

mysql - UNIX_TIMESTAMP() 在 MySQL 请求中重复多次

mysql - 我需要小于 0 且大于 0 的值的 SUM

php - MySQL在一张表中列出,在另一张表中列出顺序

php - 图片上传到数据库但不显示在php页面上?

mysql - 在 spring security unix 中,即使详细信息正确,也重定向到authentication-failure-url