0

以下查询有效,但 MySQL 对结果集进行排序:

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​​据位于最后而不是第一个,例如

我希望我的结果集按以下请求顺序返回:

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 不为这个查询做这个?我真的需要他们原样回来。

4

2 回答 2

0

尝试使用“按字段排序

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)
于 2014-03-19T05:09:21.673 回答
0
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,63,87,88,89,90,208,210,249,309,310,311);

field文档:http ://dev.mysql.com/doc/refman/5.6/en/string-functions.html#function_field

于 2014-03-19T05:10:31.600 回答