Mysql объединить две выборки в одну

209
29 января 2019, 17:20

Первый запрос у меня сортируется по моему списку

select * from posts where id IN (1, 2, 3) order by field(id, 2, 3, 1);

Вторая запрос так

select * from posts order by `ctr` desc limit 7

мне надо объединить результаты в одну выборку, в сортировке как в первом запросе + второй запрос

Answer 1
SELECT *
FROM ( select *, 0 as num from posts where id IN (1, 2, 3) order by field(id, 2, 3, 1);
       UNION ALL
       select *, 1        from posts order by `ctr` desc limit 7
     ) tmp
ORDER BY num, CASE WHEN num THEN `ctr` 
                            ELSE -field(id, 2, 3, 1) DESC
              END;
READ ALSO
Переиндексация айдишников в таблице

Переиндексация айдишников в таблице

У меня есть таблица с айдишниками, которые присваиваются автоматически при попадании в таблицу нового значения

231
Верстка под opencart

Верстка под opencart

Как нормально заверстать под opencart, кэш достал, чистить постоянно приходиться, чтобы увидеть результат

210
градиент на весь документ

градиент на весь документ

Сделал фон страницы цветами градиента, но внизу осталось немножко места не покрашенным

236
Меню и подменю html, css

Меню и подменю html, css

Есть меню с подменюПри нажатии на + список раскрывается

278