2012-03-05 8 views
2
select 
    id 
from 
    tableABC 
limit (select count(id) from tableCBA), 1 

サンプルコードでここに示したように制限を選択する必要がある場合は、どうすればmySqlで行うことができますか?これはこのフォーラムの目的のための単純化されたコードに過ぎません。そうでなければ、これは他のものが選択されるときの洗練されたケースの一部です。mysqlの内部制限を選択

+0

テーブルの最後の行を選択しようとしていますか?スキーマを表示する。 –

+0

MySQLでこれを行うことはできません。サブ選択は使用できますが、LIMITでは**ではありません**。私はいずれかのクライアント(おそらくPHP?)にこれをコードすることをお勧めします。そうでなければ、ストアドプロシージャを作成します。後で問題になることはありません。 – Roger

答えて

0

次のように、制限なしあなたは直接制限の動的な値を持つことはできませんが、あなたのクエリが再書き込みすることができます。

set i := (select count(*) from tableCBA); 
select id 
from tableABC 
where (i := i-1) = 0; 

これは、n番目の行を返します、ここで、nはtableCBAの行数です。

+0

これがパフォーマンス上の賢明なこのような素晴らしい考えであるかどうかわからないのですか?創造性が好きですか? – Roger

0
select @LimitRowsCount1=count(id) from tableCBA; 

PREPARE STMT FROM "SELECT id from tableABC LIMIT ?"; 

EXECUTE STMT USING @LimitRowsCount1; 
関連する問題