MySQL按日期排序,按日期分组格式为字母顺序
这是我的疑问:MySQL按日期排序,按日期分组格式为字母顺序,mysql,sql,mariadb,Mysql,Sql,Mariadb,这是我的疑问: 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_格式将日期转换为字符串,我需要按日期排序,但是,分组方式是问题所在。我只需要日期格式为'Date
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_格式将日期转换为字符串,我需要按日期排序,但是,分组方式是问题所在。我只需要日期格式为'Date','%b%Y'的分组依据
请给出一个解决方案当然是按字母顺序排列的。您正在按字符串排序。尝试:
ORDER BY MIN(date) ASC
这将按日期值排序
请注意,在问题的原始版本中,日期前后有单引号。这不会按任何顺序排列,因为“date”是一个包含四个字母的字符串。当然是按字母顺序排列的。您正在按字符串排序。尝试:
ORDER BY MIN(date) ASC
这将按日期值排序
请注意,在问题的原始版本中,日期前后有单引号。这将不会按任何顺序排列,因为“date”是一个包含四个字母的字符串。只需执行以下操作:
Select Date_format(`date`,'%b %Y') as 'Categories',
..... as 'a1',....... as 'a2'
FROM table1
GROUP BY Date_format(`date`,'%b %Y')
ORDER BY `date` ASC
只要这样做:
Select Date_format(`date`,'%b %Y') as 'Categories',
..... as 'a1',....... as 'a2'
FROM table1
GROUP BY Date_format(`date`,'%b %Y')
ORDER BY `date` ASC
我用双引号解决了这个问题
Select Date_format(`date`, '%b %Y') as 'Categories',
..... as 'a1',....... as 'a2'
FROM table1
GROUP BY Date_format(`date`, '%b %Y')
ORDER BY "categories" ASC
我用双引号解决了这个问题
Select Date_format(`date`, '%b %Y') as 'Categories',
..... as 'a1',....... as 'a2'
FROM table1
GROUP BY Date_format(`date`, '%b %Y')
ORDER BY "categories" ASC
在表和列名周围使用反勾号,而不是单引号。啊,是的。你说得对。他们在复制/粘贴原始问题的过程中被转换…在这种情况下,“日期”也应该在“选择”中,还是不在?谢谢,不一定。您可以对任何喜欢的列进行排序,而不必将它们包含在select子句中。在表名和列名周围使用反勾号,而不是单引号。啊,是的。你说得对。他们在复制/粘贴原始问题的过程中被转换…在这种情况下,“日期”也应该在“选择”中,还是不在?谢谢,不一定。你总是可以在你喜欢的任何列上排序,而不必将它们包含在select子句中。MINdate是我最终做到这一点的原因——只需按日期排序,而不使用诸如MIN之类的聚合器,就像其他一些答案建议的那样,会给我抛出一个SQL错误:表达式。。。of ORDER BY子句不在GROUP BY子句中,并且包含未聚合的列。。。它在功能上不依赖于GROUP BY中的列clause@wosevision . . . 你可能会考虑接受这个答案。这不是我要接受的问题,但我已经加了我的赞成票。意识是最终让我工作的——简单地按日期排序而不使用像Min那样的某种聚合器,就像一些其他的答案建议给我扔一个SQL错误:表达式…of ORDER BY子句不在GROUP BY子句中,并且包含未聚合的列。。。它在功能上不依赖于GROUP BY中的列clause@wosevision . . . 你可以考虑接受这个答案。这不是我要接受的问题,但我已经加了我的赞成票。