次のような SQL ステートメントがあるとします。
SELECT country_id, country_name
FROM country
WHERE country_id
IN(SELECT country_id FROM state
WHERE LENGTH(state_name)>=5
ORDER BY LENGTH(state_name) DESC);
country
指定されたサブクエリを使用して、テーブル内の対応する州名state
が 5 文字以上のすべての国をテーブルから取得します。
テーブル内の対応する最初の 5 つstate
の州が 5 文字以上ある国のみを降順に並べ替えて取得したいと考えています。
この場合、LIMIT
サブクエリを含む句は機能していないようで、次のクエリは機能しません。
SELECT country_id, country_name
FROM country
WHERE country_id
IN(SELECT country_id FROM state
WHERE LENGTH(state_name)>=5
ORDER BY LENGTH(state_name) DESC
LIMIT 5);
LIMIT
サブクエリで句を使用すると、次のように指定されたエラーが発生します。
このバージョンの MySQL はまだ「LIMIT & IN/ALL/ANY/SOME サブクエリ」をサポートしていません
MySql バージョン 5.1.48 を使用しています
この状況を回避する方法はありますか?