我有一个小问题,想在过去24小时内找到带有日期菲尔德的记录,这也很棒:
SELECT * FROM `release` WHERE (date >= now() - INTERVAL 1 DAY)
现在,我想从另一个表格的列后对记录进行排序,也有效:
SELECT * FROM `release` AS r JOIN hits as h ON h.id = r.id ORDER BY h.hits DESC LIMIT 0,8
现在就我的问题而言,我不会兼得这两者,在这里我的尝试(对MySQL还是很新):
SELECT * FROM `release` WHERE (date >= now() - INTERVAL 1 DAY) AS r JOIN hits as h ON h.id = r.id ORDER BY h.hits DESC LIMIT 0,8
但这不起作用,如果有人可以向我解释它,为什么会很好。
预先感谢您。
您的查询已加入错误的位置..为您的需求,您可以使用SELECT RESTER
使用ASELECT *
FROM
( select * from `release`
WHERE (date >= now() - INTERVAL 1 DAY
DESC LIMIT 0,8 ) r
JOIN hits as h ON h.id = r.id
ORDER BY h.hits
您可以简单地加入并添加Where子句。
SELECT * FROM
版本r JOIN hits as h ON h.id = r.id WHERE (r.date >= now() - INTERVAL 1 DAY) ORDER BY h.hits DESC LIMIT 0,8