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 и другие данные

Вы видите, чем заказ неправильный. Итак, вот мой вопрос, как я могу сохранить этот заказ?

Ответы на вопрос(2)

Ваш ответ на вопрос