获取用户的最新记录

可汗

说我有这样的记录:

user_id  user_data_field  created
-------  ---------------  -------
1        some data        date_a
2        some data        date_b
1        some data        date_c
1        some data        date_d
2        some data        date_e

我应该怎么做才能获得所有仅具有最新日期的用户记录(假设最新日期不是最底部的日期...可以在任何地方)?我正在使用一个in_子句来获取大量用户sqlalchemy

session.query(Table).filter(Table.user_id.in_([1,2])).order_by(Table.created.desc())

只是按照创建的顺序对它们进行排序。而且,如果我只是在该first()语句的末尾添加该子句,它只会给我1行。那么,我在sqlalchemy中是否有办法将其完成?谢谢。

@khan:您的解决方案几乎可以正常工作,但是该缺陷在您的答案的注释中有所描述。

下面的代码解决了这个特定问题(但仍然依赖于这样的事实,created对于同一个,它们不会是重复的user_id):

subq = (
    session
    .query(MyTable.user_id, func.max(MyTable.created).label("max_created"))
    .filter(MyTable.user_id.in_([1, 2]))
    .group_by(MyTable.user_id)
    .subquery()
)

q = (
    session.query(MyTable)
    .join(subq, and_(MyTable.user_id == subq.c.user_id,
                     MyTable.created == subq.c.max_created))
)

本文收集自互联网,转载请注明来源。

如有侵权,请联系[email protected] 删除。

编辑于
0

我来说两句

0条评论
登录后参与评论

相关文章

来自分类Dev

如何通过sql中的最新日期获取用户名的最新记录

来自分类Dev

SQL:从另一个表获取用户的信息及其最新日期记录

来自分类Dev

Google API获取用户的位置记录

来自分类Dev

使用Facebook最新的SDK获取用户相册?

来自分类Dev

MySQL从每个表中获取用户的最新数据

来自分类Dev

Cloudkit在获取用户记录ID时出错

来自分类Dev

按星期几获取用户登录记录

来自分类Dev

Laravel查询构建器在登录时获取用户记录

来自分类Dev

如何获取用户最近31天的访问记录

来自分类Dev

获取用户密码

来自分类Dev

获取用户的最新媒体,然后是经过身份验证的用户

来自分类Dev

在codeigniter活动记录中获取用户的上个月和当月记录

来自分类Dev

YouTube API v3使用PHP获取用户名的最新视频上传

来自分类Dev

SQL查询:如何获取用户及其最新的三个帖子?

来自分类Dev

Firebase身份验证:登录后获取用户最新数据

来自分类Dev

无需身份验证即可获取用户的最新推文

来自分类Dev

我如何从最新的Facebook sdk-4.0.1获取用户信息

来自分类Dev

获取最新记录

来自分类Dev

获取用户指示的位置

来自分类Dev

获取用户控件HTML

来自分类Dev

快速获取用户位置

来自分类Dev

从Modle获取用户信息

来自分类Dev

从JTextArea获取用户输入

来自分类Dev

高速获取用户位置

来自分类Dev

获取用户等级(mySQL)

来自分类Dev

获取用户的最近事件

来自分类Dev

从JtextArea获取用户输入

来自分类Dev

快速获取用户位置

来自分类Dev

从facebook获取用户国家