すべての価格カテゴリ (および) と比較して、最低価格 ( ) または最高価格 ( )の製品の ID を返す高速な MySQL クエリを探しています。min
max
a, b, c
d
chocolate_stock
いくつかの価格カテゴリで呼び出される製品テーブルがあります。特定のカテゴリ (またはまたはまたは) から最低 ( min
) または最高 ( ) の価格を受け取るのは非常に簡単です。max
a
b
c
d
id | name | price_a | price_b | price_c | price_d |
--------------------------------------------------------------
1 | Chips Ahoy | 250 | 530 | 720 | 120
--------------------------------------------------------------
2 | Chocolate Chunk | 250 | 90 | 32.92 | 110
--------------------------------------------------------------
3 | Oreo | 103 | 44.52 | 250 | 850
--------------------------------------------------------------
価格区分はdecimal(10,2)
. カテゴリから最高価格を返しますが、 idは返さないサンプルを次に示します。
$t = 'chocolate_stock';
$arrIds = array(1, 3);
$strQuery = "SELECT id,
MAX(price_a) AS price_a,
MAX(price_b) AS price_b,
MAX(price_c) AS price_c,
MAX(price_d) AS price_d
FROM $t WHERE id IN(". implode(',', array_map('intval', $arrIds)) .")";
この情報を取得する最速の方法は何ですか?