flask-sqlalchemy,sql 计算关系中的记录,然后加入用户 table

flask-sqlalchemy, sql count records in a relationship and then join to a users table

我用 sql 这样查询我的用户:

select * 
from users

我得到了所有用户,但现在我想查询他们有多少朋友,所以如果我这样做

我这样做:

select count(*) 
from users inner join friendship on users.id = friendship.user

我知道他们有多少朋友,但现在我想将此记录添加到用户 table 以便按此数字对他们进行排序

有没有办法用sql炼金术来实现这个目标?

select users.*, count(*) over (partition by friendship.user) 
from users inner join friendship on users.id = friendship.user
order by count