缩小MySQL查询的结果范围
本文关键字:结果 范围 查询 MySQL 缩小 | 更新日期: 2023-09-27 18:29:15
我有一个查询。
SELECT StoreName, Price FROM Stores WHERE Price > 0 AND ItemDate > DATE_SUB(CURRENT_TIMESTAMP, INTERVAL 90 DAY)";
此查询可以返回几个不同的商店和同一商店中的几个不同价格的商店。
Store1, 90
Store2, 40
Store3, 35
Store1, 30
Store1, 110
Store2, 5
Store3, 55
Store1, 78
我想为每家商店争取最低的价格。
所以我希望返回显示(使用上面的例子)
Store1, 30
Store2, 5
Store3, 35
这可以在一个查询中完成吗?
使用GROUP BY
对同一商店的商品进行分组,使用MIN(Price)
只从每组中获得最低价格。
SELECT StoreName, MIN(Price)
FROM Stores
WHERE Price > 0 AND ItemDate > DATE_SUB(CURRENT_TIMESTAMP, INTERVAL 90 DAY)
GROUP BY StoreName