[英]PHP SQL selecting and grouping with no duplicates
我不想返回具有最低價格的重復 ISBN(請參閱粗體行)。 我怎樣才能做到這一點?
isbn價格供應商
4000 22.50 公司A
4000 19.99 公司B
4000 22.50 公司 C
4001 33.50 公司A
4001 45.50 公司B
4003 11.99 公司B
我的查詢旨在使用OR運算符。 歡迎保留此方法。
SELECT * FROM table WHERE isbn = 4000 OR isbn = 4001 OR isbn = 4003 GROUP BY isbn ORDER BY price;
您只需要使用MIN
聚合函數:
SELECT isbn, MIN(price)
FROM table
WHERE isbn = 4000 OR isbn = 4001 OR isbn = 4003
GROUP BY isbn
ORDER BY price;
此外,正如評論所指出的,使用IN
可能比一系列OR
更適合您的情況:
SELECT isbn, MIN(price)
FROM table
WHERE isbn IN (4000, 4001, 4003)
GROUP BY isbn
ORDER BY price;
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.