0

複数の OR 条件を使用して SQL データ テーブルからデータを取得しようとしています。products という名前のテーブルに 10 行あるとします。

私のクエリ

SELECT * FROM products 
WHERE product_name = 'nice' OR
product_second_name = 'pretty'
LIMIT 10

テーブルに 'nice' と呼ばれる 10 個の製品が含まれている場合、最初の条件を満たす 5 つの製品と 2 番目の条件を満たす別の 5 つの製品を選択する方法はありますか?

4

1 に答える 1

1

UNION を使用して 2 つの個別のクエリを実行する必要があります。

(SELECT * FROM products 
WHERE product_second_name = 'pretty'
LIMIT 10)
UNION
(SELECT * FROM products 
WHERE product_name = 'nice'
LIMIT 5)

ただし、DISTINCT またはその他のメカニズムを介して重複を区別する必要があります。product_name が nice で product_second_name が pretty の場合にどうなるかを定義する必要があります (元のクエリでは、製品は 1 回表示されます)。

于 2013-03-01T08:41:10.740 に答える