Я использовал запрос mysql, где есть« где id в («22,20,21») « , но когда я получаю в результате свой массив, упорядоченный по порядку, т.е. 20,21, 20", где в разделе" mysql "
, но мне это нужно в том же порядке, как я дал статью
Я использовал запрос mysql, где есть« где id в («22,20,21») « , но когда я получаю в результате свой массив, упорядоченный по порядку, т.е. 20,21, 20", где в разделе" mysql "
, но мне это нужно в том же порядке, как я дал статью
я думаю вы должны быть в состоянии использовать поле ключевое слово так:
SELECT * FROM table
WHERE id in (22,20,21)
ORDER BY FIELD(id,22,20,21);
это MySQL специфический, и кажется волшебным, но это работает.
результаты SQL является неупорядоченным, если не дано явным упорядочивание; заказ не будет снят с пункта in
.
Поскольку идентификаторы не являются ни ASC, ни DESC, вам нужно будет ORDER BY
что-то еще; как вы определяете порядок 22,20,21?
Вы не можете указать, что результаты заказа будут возвращены в пункте WHERE
. Если вы хотите указать порядок, вам нужно добавить предложение ORDER BY
в ваш запрос. Для решения, которое использует FIND_IN_SET
, см. this answer.
Как указано ... WHERE
Статья не делает ничего с заказом набора результатов. Используйте MySQL built-in FIELD
function в ORDER BY
пункте, чтобы указать, как результирующий набор должен быть заказан:
... WHERE id IN (22, 20, 21) ORDER BY FIELD(id, 22, 20, 21) ...
В целом, система баз данных возвращает результаты в любом порядке, он чувствует, как. Если вы хотите, чтобы это было заказано, вы должны это сказать. This blog post предоставляет один способ для этого; вы можете найти другие решения в Интернете.
Что такое полный запрос? – cambraca 2010-11-30 06:11:58
Возможный дубликат [Как я могу заказать результат запроса так же, как идентификатор, указанный в условии WHERE?] (Http://stackoverflow.com/questions/3984531/how-can-i-order-a-query-result- same-as-id-defined-in-the-where-condition) – deceze 2010-11-30 06:14:52
Я согласен с @deceze, что это дубликат. не видел вашего ответа или, вероятно, указал бы ему в этом направлении. – 2010-11-30 06:20:09