为了账号安全,请及时绑定邮箱和手机立即绑定

不同的分组方式在 SQLAlchemy 中不起作用

不同的分组方式在 SQLAlchemy 中不起作用

哈士奇WWW 2021-08-17 15:37:46
我的问题是我应该如何distint()根据一列的值删除/忽略数据库中行的重复项。所以这是我的场景。我有一个test_db包含以下数据的数据库:values_list = [    {'tweet_id': '1', 'retweet': '100', 'user_id': '101'},    {'tweet_id': '2', 'retweet': '10', 'user_id': '101'},        {'tweet_id': '2', 'retweet': '11', 'user_id': '101'},            {'tweet_id': '10', 'retweet': '110', 'user_id': '102'},                {'tweet_id': '10', 'retweet': '110', 'user_id': '102'},                    {'tweet_id': '110', 'retweet': '0', 'user_id': '2'},                    ]我想对定义为 的每个用户的转发计数和推文计数求和user_id。我对这样一个问题的查询如下:q = select([            test_db.columns.user_id,            test_db.columns.tweet_id.distinct(),            func.count(test_db.columns.retweet).label('count'),            func.sum(cast(test_db.columns.retweet, Integer)).label('total_retweet'),           ])q = q.group_by(test_db.columns.user_id)我得到的是如下:user_id     tweet_id  count  total_retweet102         10        2      220101         2         3      1212           110       1      0但我的预期结果应该是这样的:user_id     tweet_id  count  total_retweet102         10        1      110101         2         2      1112           110       1      0我不确定我应该如何强制distinct以获得预期的结果,或者有另一种方法来解决这个问题。
查看完整描述

1 回答

  • 1 回答
  • 0 关注
  • 108 浏览
慕课专栏
更多

添加回答

举报

0/150
提交
取消
微信客服

购课补贴
联系客服咨询优惠详情

帮助反馈 APP下载

慕课网APP
您的移动学习伙伴

公众号

扫描二维码
关注慕课网微信公众号