MySQL查询返回月份列表

标签 mysql sql

如果表具有这种结构,是否有办法获取几个月前的列表:

Table
id    | payment  | date
1001    200.00     2013-10-11
1001    100.00     2013-11-02
1002    250.00     2014-01-23
1003    320.00     2014-02-02
1004    300.00     2014-03-04
1004     90.00     2014-03-05
1004     50.00     2014-04-21
1005    400.00     2014-04-21

我想返回一个列表,其中月份是唯一的,如下所示:

Months
2013-10-01
2013-11-01
2014-01-01
2014-02-01
2014-03-01
2014-04-01

这可行吗?还是我必须有一些其他类型的查询并在 PHP 中使用它?

最佳答案

SELECT DATE_FORMAT(date, '%Y-%m-01') as Months from Table GROUP BY Months;

这个:

  • 以您指定的格式选择日期(即,作为一个月的第一天)
  • 按月分组,以便每个月返回一条记录

关于MySQL查询返回月份列表,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/23038561/

相关文章:

mysql - 如何从 MySQL 迁移到 DolphinDB

java - try/catch jdbc java 无法将 jpanel 放入 jframe 中

MySQL存储过程问题。抛出警告。想不通为什么?

SQLiteQueryBuilder.buildQuery 不使用 selectArgs?

SQL OPENJSON - 解析 JSON 数组

sql - 可以从一台服务器对另一台 SQL 服务器进行查询

逗号之间的MySQL字符串搜索

mysql - 如何修复此 System.IndexOutOfRangeException : Index was outside the bounds of the array DMG

sql - 如何对具有重置条件的列进行 SUM()?

mysql - 根据发送mysql通知的次数查找用户