![](/img/trans.png)
[英]How to select multiple rows of the same user that satisfies some condition in SQL?
[英]How to exclude rows which satisfies multiple conditions in sql?
我有一张像
姓名 | 通话次数 | 通话时长(秒) |
---|---|---|
一个 | 2 | 0 |
乙 | 3 | 52 |
C | 3 | 0 |
D | 5 | 78 |
乙 | 2 | 21 |
我正在尝试排除呼叫计数为 3 且呼叫持续时间(秒)为 0 的记录。
我写的查询
SELECT *
FROM Table
WHERE (Call Count != 3
AND Call Duration (sec) != 0)
我得到 output 作为
姓名 | 通话次数 | 通话时长(秒) |
---|---|---|
D | 5 | 78 |
乙 | 2 | 21 |
我需要的 output
姓名 | 通话次数 | 通话时长(秒) |
---|---|---|
一个 | 2 | 0 |
乙 | 3 | 52 |
D | 5 | 78 |
乙 | 2 | 21 |
提前致谢
你要:
SELECT *
FROM Table
WHERE NOT (call_count = 3 AND call_duration = 0);
根据德摩根定律,这可以重写为:
SELECT *
FROM Table
WHERE call_count <> 3 OR call_duration <> 0;
我可能会在实践中使用第一个版本,因为它非常类似于您的英语语言要求。
这是一个简单的方法是,
SELECT Name FROM Table_name WHERE CallCount = 3 and callDuration = 0;
所以我们的最终查询将是
Select * from Table_name where Name not in(SELECT Name FROM Table_name WHERE CallCount = 3 and callDuration = 0);
Output:
姓名 | 通话次数 | 通话时长 |
---|---|---|
一个 | 2 | 0 |
乙 | 3 | 52 |
D | 5 | 78 |
乙 | 2 | 21 |
我希望这能帮到您。
谢谢:)
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.