应该返回至少两天记录的SQL查询

时间:2012-04-13 05:05:54

标签: php mysql sql

我有一个表“abc”,其中我存储了具有多个记录的时间戳,假设

1334034000  Date:10-April-2012
1334126289  Date:11-April-2012 
1334291399  Date:13-April-2012

我想构建一个sql查询,我可以在第一次尝试找到具有最后两天值的记录,然后在接下来的两天第二次查找。 。 。

示例:

Select *,dayofmonth(FROM_UNIXTIME(i_created)) from notes
where dayofmonth(FROM_UNIXTIME(i_created)) > dayofmonth(FROM_UNIXTIME(i_created)) -2
order by dayofmonth(FROM_UNIXTIME(i_created))

此查询会明确返回所有记录,但我们需要最多两天的记录。

请相应地建议。 提前致谢

编辑:

如果今天是4月13日,我们的桌子最多有10天,9天,8天,.... 。 。 4月10日,我们必须显示4月10日和他的最后日期记录

2 个答案:

答案 0 :(得分:2)

尝试此查询 -

SELECT t1.* FROM table t1
  JOIN (SELECT date FROM table GROUP BY date DESC LIMIT 2) t2
    ON t1.date = t2.date

它将显示所有日期= '11 -April-2012'和'13 -April-2012'的记录。

这是你想要的吗?


<强>编辑:

SELECT
  t1.*, t2.date
FROM
  notes t1
JOIN (SELECT
        DATE(FROM_UNIXTIME(i_created)) date
      FROM
        notes
      GROUP BY
        date DESC
      LIMIT
        2
  ) t2
ON
  DATE(FROM_UNIXTIME(t1.i_created)) = t2.date

答案 1 :(得分:0)

limit 2添加到查询的末尾

相关问题