【问题标题】:flask-sqlalchemy, sql count records in a relationship and then join to a users tableflask-sqlalchemy,sql计算关系中的记录,然后加入用户表
【发布时间】:2015-09-04 18:34:29
【问题描述】:

我用 sql 以这种方式查询我的用户:

select * 
from users

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

我这样做:

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

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

有没有办法通过 sqlalchemy 实现这一点?

【问题讨论】:

标签: python postgresql flask-sqlalchemy


【解决方案1】:
select users.*, count(*) over (partition by friendship.user) 
from users inner join friendship on users.id = friendship.user
order by count

【讨论】:

  • 谢谢,虽然它是这样的:SELECT m.*, SUM(case when f.monkey = m.id then 1 else 0 end) as friends\ FROM monkey as m\ LEFT JOIN 友谊as f ON m.id = f.monkey\ GROUP BY m.id, m.name\ order by friends desc
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 2014-10-19
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2021-07-12
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多