如何编写where子句以仅在两件事为真时排除行?例如,我想要的倒数
SELECT * FROM table
where
start_num = end_num
and time_taken < 100
因此,我只想返回start_num不等于end_num的值,但前提是time_taken大于100。这两件事都必须为false才能删除行。
我试过
SELECT * FROM table
where (start_num <> end_num and tripduration > 100)
但这似乎并没有给我返回的正确行数
如果我理解正确,你可以简单地使用:
where not (start_num = end_num and time_taken < 100)
请注意,这与并不完全相同,因为这也会过滤掉任何列具有NULL
值的值。如果需要的话,可以很容易地调整它来处理这个问题。
这个逻辑也可以写成:
where start_num <> end_num or time_taken >= 100