MySQL SELECT all,除非两列具有特定数据

时间:2013-09-16 12:34:02

标签: mysql sql

对不起,标题太混乱了,下面是我的表(示例)以及我想要实现的目标。

uid | title     | comment      | duration    | timestamp
---------------------------------------------------------
1   | test      | test         | d           | 2013-09-15 12:00:00
2   | test      | test         | w           | 2013-09-15 12:00:00
3   | test      | test         | m           | 2013-09-30 12:00:00
4   | test      | test         | y           | 2013-12-31 12:00:00
5   | test      | test         | d           | 2013-09-16 12:00:00

基本上我需要从此表中查询SELECT *,除非duration = d和时间戳= 2013-09-15 12:00:00在一起。因此,应从结果中排除的唯一记录是第1行。

我需要的东西看起来如此简单,我确信我错过了一些东西,但我真的很难过......

所有人都非常感谢。

2 个答案:

答案 0 :(得分:3)

尝试:

SELECT *
FROM yourTable
WHERE duration != 'd' OR timestamp != '2013-09-15 12:00:00';

请参阅Fiddle

答案 1 :(得分:3)

select * 
from table 
where not (duration = 'd' AND timestamp = '2013-09-15 12:00:00');