首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >根据日期选择结果,但知道ID

问根据日期选择结果,但知道ID
EN

Stack Overflow用户
提问于 2011-10-04 12:42:53
回答 2查看 77关注 0票数 1

这是表历史记录:

代码语言:javascript
复制
URL | UID | Method | Tag | Date

还有这个查询:

代码语言:javascript
复制
$data = mysql_query("
        select * from History 
        order by `Date` asc         
        "); 

我需要得到的网址,具有比记录更早的日期。

我只有这个记录的URL。($url)

有没有办法找到它并选择在order by date之前的行?

我可以使用$url运行一个单独的查询来获取它的日期,但我想知道是否可以用一个查询来实现。

EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2011-10-04 12:44:45

您可以使用子选择:

代码语言:javascript
复制
SELECT *
FROM History
WHERE Date < (SELECT Date FROM History WHERE url = 'foo')
ORDER BY Date ASC 

将唯一的index添加到url以确保该子查询将只返回一条记录。

票数 3
EN

Stack Overflow用户

发布于 2011-10-04 13:31:34

这是一个比子选择更好的性能:

代码语言:javascript
复制
SELECT
  h1.*
FROM
  history h1
INNER JOIN 
  history h2 
ON
  h2.url = '{URL}'
WHERE
  DATEDIFF(h1.`date`,h2.`date`) < 0
票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/7643397

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档