zewisa
Новичок
limit для нескольких условий
Есть таблица jobs - вакансии - с полями:
id, title, expired
Мне нужно сделать выборку из десяти строк, 2 из которых с expire < Now(), остальные - expire > Now()
При этом строки должны быть отсортированы по title.
То есть мне нужно сначала таблицу jobs отсортировать по title, а потом сделать так, чтобы на каждые 10 строк было не больше 2х с expire < Now()
Следующий запрос:
(SELECT 1 as type, id FROM jobs where expire < Now() limit 2)
UNION
(SELECT 2 as type, id FROM jobs where expire > Now())
ORDER BY title
limit X, 10
сначала выбирает 2 строки с expire < Now(), а только потом сортирует выборку. Подскажите как составить запрос, чтобы он сначала сортировал, а потом выбирал 10 строк, оставив в результате не больше 2х строк с expire < Now().
(Мне нужно, чтобы на каждой странице с текущими вакансиями, выводилось пару "занятых вакансий")
Это наверняка как-то не сложно делается, но что-то ничто не приходит в голову
Есть таблица jobs - вакансии - с полями:
id, title, expired
Мне нужно сделать выборку из десяти строк, 2 из которых с expire < Now(), остальные - expire > Now()
При этом строки должны быть отсортированы по title.
То есть мне нужно сначала таблицу jobs отсортировать по title, а потом сделать так, чтобы на каждые 10 строк было не больше 2х с expire < Now()
Следующий запрос:
(SELECT 1 as type, id FROM jobs where expire < Now() limit 2)
UNION
(SELECT 2 as type, id FROM jobs where expire > Now())
ORDER BY title
limit X, 10
сначала выбирает 2 строки с expire < Now(), а только потом сортирует выборку. Подскажите как составить запрос, чтобы он сначала сортировал, а потом выбирал 10 строк, оставив в результате не больше 2х строк с expire < Now().
(Мне нужно, чтобы на каждой странице с текущими вакансиями, выводилось пару "занятых вакансий")
Это наверняка как-то не сложно делается, но что-то ничто не приходит в голову
