2014-02-25 152 views
1

我想弄清楚我需要從我的用戶表中獲取記錄的SQL查詢。SQL查詢顯示記錄

"SELECT * FROM users WHERE level!='4'" 

4級用戶默認爲「COMPLETED」,因此不顯示。 但是,如果活動值小於5,我確實希望顯示已完成的用戶。 任何活動值爲5的用戶都是「綠色」,並且不需要我的注意。

知道我的運氣,這是一個非常簡單的答案,但這是一個漫長的一天,我的頭炸了。

+4

發表您的表結構和一些樣本數據 –

+1

是MySQL或SQL服務器? –

+0

對於大多數數據庫,在平等中用<>表示。您可以使用!=但它必須是數據庫特定的。 –

回答

3

你可以像這樣:

SELECT * 
FROM users 
WHERE level <> '4' 
OR (level = '4' and Activity < 5); 

我已經關掉不等號 - <>is more portable

+1

對模式的猜測! –

2

這應該解決您的問題

SELECT * FROM用戶WHERE級= '4'OR(活動<'5'AND level = '4')

0

簡單的方法,像以下爲:

SELECT * FROM users 
LIMIT 4; 
+0

這個答案是不夠的 –

+0

@ Craigy Craigo,我不明白,爲什麼你問的答案不夠。 – jmail

+0

@Craigy Craigo,如果你有5行的表,它應該顯示的限制是4. – jmail