2014-09-08 4 views
0

Я данных, хранящейся в MySQL, который выглядит следующим образом:Возвращение »в операторе MySQL

q1 
People\'s 
People\'s 
People\'s 

Я пытаюсь написать заявление MySQL возвращать количество из них, но это вызывает у меня вопрос, Я пробовал все следующее, но безрезультатно:

SELECT * AS Total, 
(SELECT COUNT(q1) FROM results WHERE q1 = 'People\'s') AS Count_Q1 
FROM results 

SELECT * AS Total, 
(SELECT COUNT(q1) FROM results WHERE q1 = 'People'\'s') 
FROM results 

SELECT * AS Total, 
(SELECT COUNT(q1) FROM results WHERE q1 = 'People''\'s') 
FROM results 

Может ли кто-нибудь определить место, где я ошибаюсь?

+1

«Для того, чтобы не значение "означает ошибку? неправильные результаты? – GolezTrol

+4

Попробуйте '' People \\ 's' 'избегать обратной косой черты. –

+0

Или, может быть, «Люди»? –

ответ

3

Оно должно быть:

SELECT *, 
(SELECT COUNT(q1) FROM results WHERE q1 = 'People\\\'s') AS Total 
FROM results 

выше подступила от MySQL Documentation:

enter image description here

Это SQL Fiddle демонстрация показывает, что она работает.

+0

Хм, это выглядело многообещающе, но оно не позволяет выполнить запрос :-( –

+0

Должно быть что-то с моим запросом, так как, когда я использую это непосредственно в MySQL, оно работает. –

+0

Это должно сработать. это вторая мысль *) то, что я разместил «Люди», было бы только ускользает от обратного слэша, а не от апострофа. –

0

Select *, как Total, (выберите отсчет (q1) из результатов, где q1 = 'Люди \\\' S') из результатов

он должен работать для и

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