values - mysql select with duplicates




Есть ли способ включить дубликаты из запроса MySQL: select..from..where..id в(list) (2)

Как вы строите запрос? Если вы не возражаете против небольшого ручного труда (которое позже можно было бы включить в некоторый код), профсоюзы должны получить вам то, что вам нужно:

select id from table where id in (1, 2, 4, 6)
union all
select id from table where id in (6, 8);

Возвращает:

------
| id |
|====|
| 1  |
| 2  |
| 4  |
| 6  |
| 6  |
| 8  |
------

EDIT: Вообще-то, я не думаю, что это помогает при заказе. Позвольте мне поиграть с этим еще немного.

Я пытаюсь получить результаты для типа запроса

SELECT * FROM table WHERE id IN(2,4,6,1,1,2) ORDER BY field (id,2,4,6,1,1,2)

и я хочу получить результаты в том же порядке, что и список, включая: дубликаты. Вышеприведенный запрос сохраняет порядок, но вырезает дубликаты. Я знаю, что могу опубликовать результаты, но просто интересно, есть ли более простой способ.

благодаря


Это позволит вам добиться того, чего вы хотите:

SELECT * FROM table
inner join (
   select 1 as sort, 2 as value union all
   select 2, 4 union all
   select 3, 6 union all
   select 4, 1 union all
   select 5, 1 union all
   select 6, 2) X on X.value=table.id
ORDER BY X.sort






duplicates