ini adalah kode yang saya gunakan
$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
');
Ini adalah kesalahan yang saya berikan
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
bagaimana saya bisa memperbaiki masalah ini? cara lain untuk membuatnya ... jadi saya tidak mendapatkan kesalahan ...
Jawaban:
Alih-alih menggunakan IN, Anda dapat menggunakan GABUNG
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
sumber
Anda dapat menggunakan di bawah ini untuk melewati kesalahan ini.
$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 ');
sumber
select p1.categoryid, p1.productid from products p1 WHERE p1.productid IN (select * from (select p2.productid from products p2 WHERE p2.categoryid=p1.categoryid order by p2.categoryid asc, p2.unitprice desc limit 3) as tabelka);
Anda tidak membutuhkan subkueri di sini. Coba ini:
SELECT VID, thumb FROM video WHERE title LIKE "%'.$Channel['name'].'%" ORDER BY RAND() DESC LIMIT 1
Di MySQL 5.0.26 dan yang lebih baru, Anda akan mendapatkan error:
Referensi .
sumber
viewtime
tambahkan ini adalah kondisi Anda
(SELECT * FROM ( SELECT * FROM table ORDER BY id DESC LIMIT 50 ) sub ORDER BY id ASC)
sumber
Mengapa Anda tidak dapat menggunakan sederhana:?
SELECT v.VID, v.thumb FROM video as v WHERE title LIKE "%'.$Channel['name'].'%" ORDER BY viewtime DESC LIMIT 5
untuk apa subkueri di sini?
sumber