わずかに異なる2つのSQL文を実行する代わりに、合計10の結果を得ることができます。例えば2つのわずかに異なるクエリを1つにする - 条件付きのvar?
、MYTABLEリミット3から、 B、 LEFT(100、C) を選択MYTABLEリミット3から C、 B、 選択します
わずかに異なる2つのSQL文を実行する代わりに、合計10の結果を得ることができます。例えば2つのわずかに異なるクエリを1つにする - 条件付きのvar?
、MYTABLEリミット3から、 B、 LEFT(100、C) を選択MYTABLEリミット3から C、 B、 選択します
チェックアウトUNION構文
(SELECT a,b,c FROM mytable LIMIT 3)
UNION
(SELECT a,b,LEFT(100, c) FROM mytable LIMIT 3, 10);
括弧に注意してください。これにより、最後のLIMIT句が2番目のクエリに適用され、結果セット全体には適用されません。
IFを使用して最初のn結果の書式を異なるようにする数値キーがない限り、1つの選択でこれを実行するとは思われません。
10行すべてを選択してから、case文を使用して、定義した条件文に応じて返される値を制御できます。
set @ line_total = 0;
は
、
B、
@line_totalを選択:
= @line_total + 1、
(他@line_total 次いでC
は(100、c)の終わり左ケース)from test_query limit 10;私は、「データベースへの単一の旅」を定めている必要があります「1選択」
http://dev.mysql.com/doc/refman/5.0/en/case-statement.html
このsisが明確なことを求める正しい場所を希望しますが、あなたの例の[条件]の代わりに、私は4番目のクエリを知っているので、何らかの 'counter'を生成できますか? –
私はそれを実行中の合計を含むように変更しました。しかし、私はあなたが行番号ではなく、別のステートメントに使用したい理由である条件を使用することをお勧めします。 セットを使用するときは、データがテーブル内の特定の順序になることを期待するのは悪い習慣です。 – Ehz
。ありがとうございました! –