如何在SQL中过滤列?

时间:2018-02-12 06:12:26

标签: sql

该表有3个字段和样本数据。

customerid  ordertype   countoforders
1           APP         10
1           WEB         20
2           APP         10
3           WEB         10
4           APP         30
5           APP         40
5           WEB         10

我想只检索APP订单客户而且很重要。我该如何编写相同的查询?

例如,从上表APP中,只有客户是2和4。

2 个答案:

答案 0 :(得分:0)

您尚未指定您正在使用的DBMS,因此我必须避免提供特定于产品的建议。

如果这是非常紧急的,UGLIEST实现您所需要的方法是创建一个查找表,其中包含您在表中的所有“WEB”订单(customerid,ordertype)并执行NOT EXISTS或{该表格上的{1}}(例如NOT IN

在性能方面,它可能不是最佳的,但这可以完成工作。

答案 1 :(得分:0)

试试这个:

select customerid, countoforders from MY_TABLE
where ordertype = 'APP'
except
select customerid, countoforders from MY_TABLE
where ordertype <> 'APP'