我在具有两列主键的特定表中遇到 GROUP BY 查询问题。
我的表如下所示:
CREATE TABLE IF NOT EXISTS `stocks` (
`id_city` int(10) NOT NULL,
`id_prod` int(10) NOT NULL,
`sell_price` int(10) DEFAULT '0',
PRIMARY KEY (`id_city`,`id_prod`)
)
假设它插入了这样的值:
INSERT INTO `stocks` (`id_city`, `id_prod`, `sell_price`)
VALUES ('1', '1', '100'), ('2', '1', '90'), ('3', '1', '10');
经过这样的查询:
SELECT id_prod, id_city, MIN(sell_price)
FROM stocks
GROUP BY id_prod
结果行丢失了 'id_city' 键 - 它需要 city_id 的第一次出现,
id_prod id_city MIN(sell_price)
1 1 10
如何为这种情况建立适当的查询?结果应如下所示:
id_prod id_city MIN(sell_price)
1 3 10