1

したがって、結果が必要な WHERE 句の主要な条件が 1 つありますが、両方の条件を満たす結果が結果配列の最初に表示され、その後に主要な条件のみを満たす結果が続くという別の条件があります。考えられる 1 つの方法は、最初に主要な結果に基づいて選択を行い、次に 2 番目の条件を使用して操作することです。しかし、mysqlのselectステートメント自体でそれを行う方法があるかどうかを確認したいと思います。

4

3 に答える 3

1

あなたの質問を読み直した後、2 番目の条件で結果をフィルター処理するのではなく、単に並べ替えたいということを理解しました。その場合、ORDER BY次のようなcustom を使用します。

SELECT *
FROM mytable
WHERE x = 'major'
ORDER BY (y = 'minor') DESC
于 2012-12-29T08:29:28.370 に答える
0

ブロックで使用して、閉じる場所でマルチパルにします

ブロッククォート

tを{として

テーブルaから*を選択します。ここでa.columnname=1

}、p as {

表bから*を選択します。ここでb.columnname=2

}

于 2012-12-29T08:29:57.157 に答える
0

条件によりご注文いただけます。

select some_columns 
  from a_table 
 where major_condition
 order by if(minor_condition, 1, 0)
于 2012-12-29T08:30:41.147 に答える