在MySQL中按月份和年份从时间戳列分组中获取记录

时间:2015-04-06 14:18:50

标签: php mysql sql

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

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

2 个答案:

答案 0 :(得分:1)

SELECT DATE_FORMAT(`created_at`, '%b %Y') AS `mY`, SUM(`final_amount`) AS `amount` FROM `sales` GROUP BY `mY`

答案 1 :(得分:0)

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

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