我有一个来自不同供应商的产品的SQL数据库,所以同一个产品可能出现多次,价格不同。
是否可以选择所有价格超过4的产品,尤其是所有具有相同ID的超过4行的行?

最佳答案

是的,在商品的标识符上分组,并在HAVING子句中指定要计算的价格数量,如下所示:

SELECT ItemID, COUNT(Price) FROM itemTBL GROUP BY ItemID HAVING COUNT(Price) >= 4

然后,您可以使用此功能在以后进行筛选并获取更多信息:
SELECT Item.*, Category.Name, Filter.NumPrices from itemTBL AS Item
INNER JOIN categoryTBL as Category ON Item.CategoryID = Category.CategoryID
INNER JOIN (SELECT ItemID, COUNT(Price) AS NumPrices FROM itemTBL GROUP BY ItemID HAVING COUNT(Price) >= 4) AS Filter on Item.ItemID = Filter.ItemID

关于php - SQL选择多个匹配的行,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/6175918/

10-12 17:38