Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/dart/3.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Python 在查询中使用“分组依据”时,从每个组中选择一个元素_Python_Sql_Sqlalchemy - Fatal编程技术网

Python 在查询中使用“分组依据”时,从每个组中选择一个元素

Python 在查询中使用“分组依据”时,从每个组中选择一个元素,python,sql,sqlalchemy,Python,Sql,Sqlalchemy,我想知道在查询GROUPBY时如何从类中提取任意元素。例如: class Post(Base): id = Column(Integer, primary_key=True) created = Column(DateTime) comments = Column(Integer) creator = Column(Integer, ForeignKey('user.id')) anonymous = Column(Boolean) class User

我想知道在查询GROUPBY时如何从类中提取任意元素。例如:

class Post(Base):
    id = Column(Integer, primary_key=True)
    created = Column(DateTime)
    comments = Column(Integer)
    creator = Column(Integer, ForeignKey('user.id'))
    anonymous = Column(Boolean)

class User(Base):
    id = Column(Integer, primary_key=True)
如何创建输出以下内容的查询:

creator | total number of comments made on the creator's post | the time of the creator's last post

creator | total number of comments made on the creator's post | if any of the posts are anonymous
基本问题是:

session = DBSession()
commsum = session.query(Post.creator, func.sum(Post.comments).label('totalcomments')).\
    group_by(Post.creator).subquery()
return session.query(User, commsum.c.totalcomments).\
    join(commsum, commsum.c.creator == User.id).all()

如果我想返回1每个组中所有行的最新日期_byPost.creator,或者如果其中任何一行的anonymous==True,该怎么办

SELECT Post.creator, 
       sum(Post.comments) total_comments
       max(Post.Created) latest_post
       max(Post.anonymous) any_anonymous
FROM Post
GROUP BY Post.creator

你现在有什么?你试过什么?请使用此信息更新您的问题。尚未尝试任何操作,正在忙于其他任务。我只是在寻找解决方案,但找不到任何解决方案。