Rumah > pangkalan data > tutorial mysql > Bagaimana untuk Mengatasi Sekatan LIMIT Subquery MySQL dengan Operator IN?

Bagaimana untuk Mengatasi Sekatan LIMIT Subquery MySQL dengan Operator IN?

DDD
Lepaskan: 2024-12-14 03:13:14
asal
201 orang telah melayarinya

How to Work Around MySQL's Subquery LIMIT Restriction with IN Operator?

Ketidakserasian MySQL dengan Had Subkueri

Mesej ralat "Versi MySQL ini belum lagi menyokong 'LIMIT & IN/ALL/ANY /SOME subquery'" menunjukkan bahawa versi MySQL yang digunakan tidak menyokong penggunaan klausa LIMIT dalam subquery apabila menggunakan operator tertentu seperti IN.

Penyelesaian

Satu penyelesaian untuk pengehadan ini ialah menggunakan JOIN dan bukannya subkueri IN. Kod berikut menunjukkan pendekatan ini:

$Last_Video = $db->fetch_all('
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
');
Salin selepas log masuk

Dalam kod ini:

  • Jadual alias "v" digunakan untuk jadual "video" luar.
  • Subkueri digunakan untuk memilih VID video yang sepadan dengan penapis tajuk dan menyusunnya mengikut masa tontonan dalam tertib menurun. Subkueri ini dialiaskan sebagai "v2".
  • Klausa JOIN digunakan untuk menyertai jadual "video" utama dengan subkueri "v2" pada lajur VID.
  • Hasil akhir adalah terhad kepada satu rekod yang dipilih secara rawak menggunakan RAND() dan LIMIT.

Atas ialah kandungan terperinci Bagaimana untuk Mengatasi Sekatan LIMIT Subquery MySQL dengan Operator IN?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!

sumber:php.cn
Kenyataan Laman Web ini
Kandungan artikel ini disumbangkan secara sukarela oleh netizen, dan hak cipta adalah milik pengarang asal. Laman web ini tidak memikul tanggungjawab undang-undang yang sepadan. Jika anda menemui sebarang kandungan yang disyaki plagiarisme atau pelanggaran, sila hubungi admin@php.cn
Tutorial Popular
Lagi>
Muat turun terkini
Lagi>
kesan web
Kod sumber laman web
Bahan laman web
Templat hujung hadapan