这是表历史记录:
URL | UID | Method | Tag | Date还有这个查询:
$data = mysql_query("
select * from History
order by `Date` asc
"); 我需要得到的网址,具有比记录更早的日期。
我只有这个记录的URL。($url)
有没有办法找到它并选择在order by date之前的行?
我可以使用$url运行一个单独的查询来获取它的日期,但我想知道是否可以用一个查询来实现。
发布于 2011-10-04 12:44:45
您可以使用子选择:
SELECT *
FROM History
WHERE Date < (SELECT Date FROM History WHERE url = 'foo')
ORDER BY Date ASC 将唯一的index添加到url以确保该子查询将只返回一条记录。
发布于 2011-10-04 13:31:34
这是一个比子选择更好的性能:
SELECT
h1.*
FROM
history h1
INNER JOIN
history h2
ON
h2.url = '{URL}'
WHERE
DATEDIFF(h1.`date`,h2.`date`) < 0https://stackoverflow.com/questions/7643397
复制相似问题