SQLAlchemy сортировка по кол-ву совпадений

Не нашел ответ в интернете =(( Уже устал экспериментировать...

Проблема такая: Есть таблица пользователей с полями user_id и ref_id (ID пользователя и ID рефовода соответственно).

У пользователя может быть несколько рефералов.

class Users(Base):
    __tablename__ = 'users'

    user_id = Column(Integer, primary_key=True)
    ref_id = Column(Integer)  # от кого пришел

введите сюда описание изображения

Как получить список пользователей отсортированный по кол-ву рефералов?

p.s. Надо чтобы пользователи без рефералов отображались тоже. Ну и само кол-во тоже чтоб мог с ответа дергать.

желаемый пример использования:

users = await db.get_users_order_by_ref_count(limit=10, offset=0)

for user in users:
    print(f"ID юзера - {user.user_id}\n
            реф ID - {user.ref_id}\n
            кол-во рефералов - {user.ref_count}\n\n")

Ответы (0 шт):