2012-01-03 52 views
0

我想從我列表中的列中計算56,80,95和108之間的數字,其中 我存儲了與「,」分隔的數字。 現在,我想要使用like或其他方式來計算包含上述任何數字的列的主ID。 我嘗試使用類似如下:我如何在我的sql查詢中使用條件運算符?

SELECT COUNT(DISTINCT(ID)) FROM TABLE_NAME WHERE COL_NAME LIKE "%56%" OR '%80%' 

SELECT COUNT(DISTINCT(ID)) FROM TABLE_NAME WHERE COL_NAME LIKE ("%56%" OR '%80%') 

非此WORKS

+0

你能說說你的問題嗎?並從您的查詢我猜你已經存儲列名與數字? – ThinkingMonkey 2012-01-03 10:46:06

+2

'這個作品沒有一個--- ---新聞! – zerkms 2012-01-03 10:46:16

+0

不要猜測,只需運行'select「%56%」或'%80%''。你會看到它是零(boolean false)。 LIKE運算符期望一個字符串,而不是布爾值。 – 2012-01-03 11:02:40

回答

3

你可以做

SELECT COUNT(DISTINCT(ID)) FROM TABLE_NAME WHERE COL_NAME LIKE "%56%" OR COL_NAME LIKE '%80%' 

參考example queries

+0

如果有很多數字比較說50個不同的數字比較?我應該寫上面所有的數字嗎? – user1045373 2012-01-03 10:51:31

0
SELECT COUNT(ID) FROM TABLE_NAME WHERE COL_NAME LIKE "%56%" OR COL_NAME LIKE '%80%' 

也許?

+0

ups ...已經回答,而我輸入這個? :) – sverdianto 2012-01-03 10:51:19

0
SELECT count(*) 
FROM `table` 
WHERE FIND_IN_SET(col_name, '56,80,95'); 
相關問題