LEFT JOIN tasks ON users.id = tasks.performer_id
WHERE (performer_id IS NOT NULL)
AND (role = 'performer')
GROUP BY users.id
ORDER BY tasksCounter DESC)
UNION
(SELECT *, 0 FROM users WHERE role = 'performer')
почему 3 не сверху? 😳
Потому что и не должно быть. Любая реализация SQL (это, кстати, какая СУБД?) имеет право игнорировать все ORDER BY (когда это не меняет результат иным образом, кроме сортировки — например "ORDER BY x FETCH FIRST y ROWS ONLY"), кроме того, который в основном запросе.
union объединяет результаты нескольких запросов
Обсуждают сегодня