我有一张像
姓名 | 调用次数 | 通话时长(秒) |
---|---|---|
A | 2 | 0 |
B | 3 | 52 |
C | 3 | 0 |
D | 5 | 78 |
E | 2 | 21 |
我试图排除呼叫计数为 3 且呼叫持续时间(秒)为 0 的记录。
我写的查询
SELECT *
FROM Table
WHERE (Call Count != 3
AND Call Duration (sec) != 0)
我得到的输出为
姓名 | 调用次数 | 通话时长(秒) |
---|---|---|
D | 5 | 78 |
E | 2 | 21 |
我需要的输出
姓名 | 调用次数 | 通话时长(秒) |
---|---|---|
A | 2 | 0 |
B | 3 | 52 |
D | 5 | 78 |
E | 2 | 21 |
提前致谢
答案 0 :(得分:3)
你想要:
SELECT *
FROM Table
WHERE NOT (call_count = 3 AND call_duration = 0);
根据德摩根定律,这可以改写为:
SELECT *
FROM Table
WHERE call_count <> 3 OR call_duration <> 0;
我可能会在实践中使用第一个版本,因为它与您的英语语言要求非常相似。
答案 1 :(得分:0)
这里有一个简单的方法是,
选择名称 FROM Table_name WHERE CallCount = 3 和 callDuration = 0;
所以我们最终的查询将是
<块引用>Select * from Table_name where Name not in(SELECT Name FROM Table_name WHERE CallCount = 3 and callDuration = 0);
输出:
姓名 | 调用次数 | 通话时长 |
---|---|---|
A | 2 | 0 |
B | 3 | 52 |
D | 5 | 78 |
E | 2 | 21 |
我希望这对您有所帮助。
谢谢:)