0

如果这对某些人来说是一个非常简单的问题,我深表歉意。

假设我正在使用 PK 查找查询一个非常简单的表:

  • 用户 ID -> int (PK)
  • 正文 -> varchar
  • 时间 -> 整数

时间是标准的 UNIX 时间戳。(从纪元开始的秒数)

我想从该用户 ID 的 LAST 条目中返回一个月的结果。

现在一个明显的解决方案是在其他地方跟踪最近插入的时间,并在每次插入/删除或更新记录时更新它,并根据该值执行范围查询。

因此我的问题是:是一种更简单/优雅的方法吗?我的想法是正确的,还是 MySQL 中有一些我不知道的内置功能?

提前致谢。

4

1 回答 1

2

没有这样的内置功能。你需要做的(除非你做你已经建议的那个额外的表)是做一个自我加入。像(未经测试,从我的头顶)

select * 
  from [yourtable] t1
  join [yourtable] t2 
 using (userid)
 where t1.userid = [userid] 
   and t1.time is between t2.time and date_sub(t2.time, interval 1 month);
于 2012-10-08T19:19:04.747 回答