2013-08-26 132 views
0

我有一个查询。 。 。缩小MySQL查询结果

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 

这可以在一个单一的查询做什么?

回答

3

使用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