SQL: Как сохранить порядок в SQL-запросе?
У меня есть база данных PostgreSQL, и я пытаюсь распечатать всех своих пользователей (Person).
Когда я выполняю этот запрос
-- show owners
-- sorted by maximum cars amount
SELECT p.id
FROM car c JOIN person p ON c.person_id = p.id
GROUP BY p.id
ORDER BY COUNT(p.name) ASC;
Я сортирую всех владельцев по количеству машин
Выход:3 2 4 1
И все порядок идет не так, когда я пытаюсь связать идентификатор владельца.
SELECT *
FROM person p
WHERE p.id IN (
SELECT p.id
FROM car c JOIN person p ON c.person_id = p.id
GROUP BY p.id
ORDER BY COUNT(p.name) ASC);
Выход:1 2 3 4
и другие данные
Вы видите, чем заказ неправильный. Итак, вот мой вопрос, как я могу сохранить этот заказ?