MySQL - 这个版本的MySQL还不支持'LIMIT&IN / ALL / ANY / SOME子查询这是我正在使用的代码 $Last_Video = $db->fetch_all('
SELECT VID, thumb
FROM video
WHERE VID IN (
SELECT VID
FROM video
WHERE title LIKE "%'.$Channel['name'].'%"
ORDER BY viewtime DESC
LIMIT 5)
ORDER BY RAND()
LIMIT 1
');这是给我的错误 Message: Error during SQL execution: SELECT VID, thumb FROM video WHERE VID IN ( SELECT VID FROM video WHERE title LIKE "%funny%" ORDER BY viewtime DESC LIMIT 5) ORDER BY RAND() LIMIT 1<br />
MySQL Error: This version of MySQL doesn't yet support 'LIMIT & IN/ALL/ANY/SOME subquery'<br />
MySQL Errno: 1235我怎么能解决这个问题?它的其他方式...所以我没有得到错误...
3 回答
慕慕森
TA贡献1856条经验 获得超17个赞
您可以使用JOIN而不是IN
SELECT v.VID, v.thumb FROM video AS v INNER JOIN (SELECT VID FROM video WHERE title LIKE "%'.$Channel['name'].'%" ORDER BY viewtime DESC LIMIT 5) as v2 ON v.VID = v2.VID ORDER BY RAND()LIMIT 1
哆啦的时光机
TA贡献1779条经验 获得超6个赞
您可以使用以下方法绕过此错误。
$Last_Video = $db->fetch_all(' SELECT VID, thumb FROM video WHERE VID IN (select * from ( SELECT VID FROM video WHERE title LIKE "%'.$Channel['name'].'%" ORDER BY viewtime DESC LIMIT 5) temp_tab) ORDER BY RAND() LIMIT 1 ');
添加回答
举报
0/150
提交
取消