【发布时间】:2021-12-09 03:36:24
【问题描述】:
我不想返回价格最低的重复 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;
【问题讨论】:
-
由于您特别指出它,值得一提的是,对于这样的查询,
IN()构造通常(几乎总是)比OR运算符的性能更高。即对于上面的查询WHERE isbn IN(4000,4001,4003)通常会更好。