【问题标题】:Fetch records from timestamp column grouping by Month and Year in MySQL从 MySQL 中按月和年分组的时间戳列中获取记录
【发布时间】:2015-04-06 14:18:50
【问题描述】:

我有一个日期列(时间戳数据类型),我想获取所有记录并以月和年的格式显示(降序)。

For e.g.

Created Date   Amount
Oct 2015       2000
Mar 2015       5000
Jun 2014       4000
Jan 2014       1000

我在 MySQL 中尝试了以下查询,但没有成功。

SELECT Month(created_at) AS month, Year(created_at) AS year, SUM(final_amount) AS amount
FROM sales
GROUP BY month, year

我无法同时获得年份和月份。结果按年份分组。这是输出。

month   year   amount
10      2015   7000
6       2014   5000

【问题讨论】:

  • 那么这到底是什么问题,除了你没有做任何sort by
  • 我猜这是(缺失的)ORDER BY 的问题。

标签: php mysql sql


【解决方案1】:
SELECT DATE_FORMAT(`created_at`, '%b %Y') AS `mY`, SUM(`final_amount`) AS `amount` FROM `sales` GROUP BY `mY`

【讨论】:

  • 谢谢。赞赏!!我现在如何根据月份和年份进行排序?
  • 添加到查询 ORDER BY created_at DESC
【解决方案2】:

看看这个小提琴。它将您的两列转换为日期并按此排序。将 asc 更改为 desc 以反转排序顺序。如果这不是您想要的,您可能想向我们展示 DESIRED 输出应该是什么样子。

http://sqlfiddle.com/#!9/d83c3/4

【讨论】:

    猜你喜欢
    • 2020-01-18
    • 2015-04-26
    • 2011-02-23
    • 1970-01-01
    • 2013-07-26
    • 2011-03-22
    • 1970-01-01
    • 2021-04-29
    • 1970-01-01
    相关资源
    最近更新 更多