【问题标题】:Select one row for each month mysql每个月选择一行mysql
【发布时间】:2014-09-24 21:20:19
【问题描述】:

我是 MySQL 新手,我正在尝试为表中的每个月和每个年选择一行。 我正在创建一个博客网站,需要呼应月份,以便人们可以按一年中的特定月份并获取该月写的所有博客文章。

这是我开始的,但它不正常。

$query = "SELECT * FROM messages 
                    WHERE date in 
                    (select DISTINCT max(date) from messages 
                    GROUP BY YEAR(date), MONTH(date))";

谢谢

【问题讨论】:

    标签: php mysql sql


    【解决方案1】:

    不需要子选择:

    SELECT MONTH(date), YEAR(date)
    FROM messages
    GROUP BY MONTH(date), YEAR(date)
    

    这将为您提供每年/每月的组合,其中包含您的表格中列出的消息。

    然后你可以稍后拉出消息

    SELECT *
    FROM messages
    WHERE MONTH(date) = $selected_month AND YEAR(date) = $selected_year
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2016-02-16
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2014-01-24
      • 2019-01-31
      • 2020-09-23
      相关资源
      最近更新 更多