sqlalchemy:列user_vid去重,取id最大值。
阿新 • • 發佈:2018-11-16
表Charts
如表Charts,value值隨id增加會變化,我們要取出每個使用者最新的value值。
id | value | user_vid(使用者id,唯一) | user_name |
---|---|---|---|
1 | 866 | 1 | LITING2 |
2 | 778 | 2 | LITING |
3 | 68 | 2 | LITING |
4 | 58 | 2 | LITING |
5 | 38 | 1 | LIING2 |
6 | 85 | 3 | LIYANYAN |
7 | 81 | 3 | LIYANYAN |
8 | 80 | 3 | LIYANYAN |
DBsession = Session()
user_vids = DBsession.query(distinct(Charts.user_vid)).all()
#先把使用者id去重
time_l=[]
for user_vid in user_vids:
time1=DBsession.query(Charts).filter(Charts.user_vid==user_vid).order_by(Charts.id.desc()).first()
#把表Charts根據ID列(ID越大,value值最新)倒序,根據user_vid取出值最大ID對應的value。
time_l.append(time1)