Home > programming > Tips buat atasin LIMIT di subquery

Tips buat atasin LIMIT di subquery

August 4th, 2009

Bagi yang sering otak-atik MySQL dan bermain-main dengan subquery pasti pernah ketemu dengan pesan error ini dech.

This version of MySQL doesn’t yet support ‘LIMIT & IN/ALL/ANY/SOME subquery’

Tadi kebetulan ada temen saya yang tanya. Eh Gimana sih keluarin data 5 tertinggi dari 50 data yang gue random? Pertama gue jawab-in bahwa query nya seperti ini

SELECT * FROM a WHERE a_id IN (
SELECT a_id FROM a ORDER BY RAND() LIMIT 50
) ORDER BY a_value DESC LIMIT 5

Terus gue bilang, bahwa “saat ini versi MySQL belom ada yang bisa begitu”. Terus setelah dia cari2, rupanya bisa diakal2in seperti ini :

SELECT * FROM (
SELECT * FROM a ORDER BY RAND() LIMIT 50
) ORDER BY t_value DESC LIMIT 5

Semoga membantu.

Credits goes to @xtian

Share

programming

  1. No comments yet.
  1. No trackbacks yet.

Switch to our mobile site