2013-04-29 2 views
0

У меня есть таблицы значений столбцов, как это,MySQL значение Раскол поле и проверить состояние

10#9 
10#2 
10#9 
18#10 
16#1 
11#2 

Я должен найти появление 10

запрос как

select count(*) from table name where field_value= 10 
+0

делает 10 # 9 матч? и 18 # 10 также совпадают? и что, если у вас есть 10 # 10, вы просто должны считать один? – fthiella

+0

Если в базе данных 99999 из 100000 есть поля, разделенные символами, вам действительно нужно исправить свою базу данных, прежде чем делать что-либо еще. –

ответ

0

Если я понимаю ваш вопрос правильный, я думаю, вам нужно что-то вроде этого:

SELECT COUNT(*) 
FROM yourtable 
WHERE 
    CONCAT('#', field_value, '#') LIKE '%#10#%' 

Это будет считать все строки, где field_value содержит 10, но не строки, которые содержат, например, 110, например.

10#1 will match 
18#10 will match 
11#110 won't match 
+0

Огромное спасибо .. :) вот что я хочу ... – SathishKumar

+0

Привет, fthiella, Да им сталкивается с одной проблемой сейчас ... У меня есть две колонки, как упомянуто выше, например: 10 # 18 9 # 10 и соответственно Да # ans да # нет .... Что это значит, если вы считаете 10, 18 и 9 как ID вопроса и имеете несколько ответов, я должен посчитать ответ ** да ** на вопрос 10 ... как мы можем сделать это ... SELECT count (*) из tablename, где question_id = 10 и answer = yes – SathishKumar

Смежные вопросы