mysql 查询条件之外的数据_mysql 查询符合条件的数据
匿名用戶
1級
2014-12-11 回答
SELECT * FROM test WHERE state IS NULL AND 1 > (SELECT COUNT(*) FROM test t WHERE t.state = 0)
追問:
請問 SELECT * FROM test WHERE state IS NULL AND 1 和(SELECT COUNT(*) FROM test t WHERE t.state = 0) 是同一條數據
查詢1的時候
如果 2的state為0的話也得查出來得
追答:
哦,剛看明白,我再改改。
追問:
字段 id name state
1 你好 null
2 你 null
1 你 0
2 你好 0
查詢肯定是一條條查詢得SELECT * FROM test WHERE state IS NULL查出一條,比較下當前這條,在test中有無state為0的 ,注意是當前
麻煩了哈
追答:
SELECT * FROM test WHERE id NOT IN(SELECT id FROM test WHERE state = 0 ) AND state IS NULL
追答:
SELECT * FROM test WHERE id NOT IN(SELECT id FROM test WHERE state = 0 ) AND state IS NULL
追問:
謝謝哈 還是會查出來
比如
1 你好 null
2 你 null
1 你 0
會把 1 你好 null 查出來
追答:
SELECT * FROM test WHERE id NOT IN(SELECT id FROM test WHERE state = 0 ) AND state IS ?NULL
結果:
追問:
額額 我再看看哈
追答:
我的state是int型,你要是字符竄就改改。
追問:
恩恩 改好了
再請教下 如果有的id沒有為Null但是state為0 像這種數據不用過濾 該怎么改?
謝謝了
追答:
如果有的id沒有為Null但是state為0 像這種數據不用過濾 該怎么改?
沒明白。是不是含有state為null的且含有state為0的就不查,否則都查出來。
那么:
SELECT * FROM test WHERE id NOT IN(
SELECT id FROM test WHERE (id IN(SELECT id FROM test WHERE state = 0 ) AND state IS NULL )
)
追問:
意思是比如
1 你好 null
2 你 null
1 你 0
null 好 0
查詢得時候把 2 你 null 、null 好 0 這兩條查出來
第二條沒id 不應該查不出來
追答:
SELECT * FROM test WHERE id IS NULL OR ( id NOT IN ( SELECT id FROM test WHERE state = 0 AND id IS NOT NULL ) AND state IS NULL)
這樣
總結
以上是生活随笔為你收集整理的mysql 查询条件之外的数据_mysql 查询符合条件的数据的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 图片处理中的Dithering技术
- 下一篇: 富易发学生用计算机怎么关机,电脑远程关机