首页 新闻 会员 周边 捐助

flask sqlalchemy怎么根据两个字段去重?有没有大神呢?急!!!

0
悬赏园豆:20 [已关闭问题] 关闭于 2019-09-20 09:46

现在在写一个sqlalchemy的语句,就是以一个表里面的两个字段去重,如下图,以job_instance_id ,和start_time两个值去重,就是这两个值不能一样,其它的字段值可以一样,表名是job_execution,请问有会的吗?!

奈何技术不达标的主页 奈何技术不达标 | 初学一级 | 园豆:80
提问于:2019-09-02 09:43

就是去重的时候不用根据具体的值,如job_instance_id=62 and_ start_time=2019-07-02,而是要自动去重;我现在的查询语句是这样的job_excutions = JobExecution.query.filter( JobExecution.job_instance_id.in_(task_ids) ).order_by(db.desc(JobExecution.id)).distinct(),后面我会用job_excutions去用pagination分页,分完页之后发现有重复数据,再去重的话就会导致每页的数据数量不一样(因为本来一页有十个数据,去完重还有三个,但是它还是占据一页),所以要想用pagination方法分页就必须在用这个方法之前保证数据的唯一,但现在数据库有好多重复数据,怎么去重呢 ?我也试过不用pagination这个分页方法,而是自己些分页,但是由于数据量太大,需要循环整个查询出来的数据,导致系统比较慢,所以只能用sqlalchemy去重,这样应该可以保证速度快,分页不会出错。

奈何技术不达标 5年前
< >
分享
所有回答(1)
0

最后使用with_entities和group_by解决。

奈何技术不达标 | 园豆:80 (初学一级) | 2019-09-20 09:45
清除回答草稿
   您需要登录以后才能回答,未注册用户请先注册