这是我的查询:
Select Date_format(`date`, '%b %Y') as 'Categories',
..... as 'a1',....... as 'a2'
FROM table1
GROUP BY Date_format(`date`, '%b %Y')
ORDER BY Date_format(`date`, '%b %Y') ASC
答案是按字母顺序排列的,因为date_format
将日期转换为字符串,我需要按日期排序,但是,分组是问题所在。我仅需要 group by
用于 Date_format('date','%b %Y')
请给出解决方案
最佳答案
当然是按字母顺序排列的。您正在按字符串排序。尝试:
ORDER BY MIN(date) ASC
这将按日期值排序。
请注意,在问题的原始版本中,date
周围有单引号。这根本不会按任何顺序排序,因为 'date'
是一个包含四个字母单词的字符串。
关于MySQL 按日期排序 GROUP BY DATE FORMAT 是按字母顺序排列的,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/45868899/