2014-03-19 3 views
0

Следующий запрос работает, но MySQL сортирует результаты установить:Удалить заказ по IN (1 2 10 5 5)?

SELECT STRINGTEXT FROM WEBSTRINGS WHERE GUI=0 AND LANGID='GB' AND TOKENID IN 
(312,47,48,49,50,51,52,53,54,55,56,57,58,60,61,62, 63,87,88,89,90,208,210,249,309,310,311); 

Это означает, что, когда я беру это в моих записях данные для TOKENID 312 является в конце вместо того, чтобы первый, например,

Я ожидал, что мой ResultSet вернуться в следующем порядке запросов:

312,47,48,49,50,51,52,53,54,55,56,57,58,60,61,62,6 3,87,88,89,90,208,210,249,309,310,311 

, но он возвращается как:

47,48,49,50,51,52,53,54,55,56,57,58,60,61,62,63,87 ,88,89,90,208,210,249,309,310,311,312 

Есть ли способ заставить MySQL не делать этого для этого запроса? Мне действительно нужны , чтобы они возвращались как есть.

+0

Может быть, вы должны выполнить' выбрать STRINGTEXT, TOKENID .... ', то вы будете иметь' TOKENID' и 'STRINGTEXT' в вашем результате. –

ответ

0

Попробуйте использовать 'ORDER BY FIELD `

SELECT STRINGTEXT 
FROM WEBSTRINGS 
WHERE GUI=0 AND LANGID='GB' AND TOKENID IN (312,47,48,49,50,51,52,53,54,55,56,57,58,60,61,62, 63,87,88,89,90,208,210,249,309,310,311) 
ORDER BY FIELD (TOKENID,312,47,48,49,50,51,52,53,54,55,56,57,58,60,61,62,6 3,87,88,89,90,208,210,249,309,310,311) 
+0

Если это решит вашу проблему, тогда отметьте ее как принятый ответ. – CyberBoy

+0

Но это не дает правильного результата? –

+1

В чем проблема? вы можете добавить новый код и ошибку/вывод в вопрос. Он должен дать правильный результат. – CyberBoy

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