我正在寻找一个快速的 MySQL 查询,它返回与所有价格类别 (和) 相比价格最低 ( ) 或最高 ( ) 的产品的 id。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)) .")";
检索此信息的最快方法是什么?