简体   繁体   English

sqlalchemy group_by和总和

[英]sqlalchemy group_by and sum

I have a SiteStaff table that I want to group all the staff together with the same staffId and add up the holiday column. 我有一个SiteStaff表,我想将所有职员与相同的staffId组合在一起,并添加holiday列。

>     group =  session.query(SiteStaff, func.sum(SiteStaff.Holiday)).group_by(SiteStaff.StaffID).all()
>     
>     print group

The output groups the staff together but does not add the column. 输出将人员分组在一起,但不添加该列。

Here is the sql that i am trying to mimic: 这是我要模仿的SQL:

UPDATE Staff p, (SELECT StaffID, SUM(Holiday) as mysum
 FROM SiteStaff GROUP BY StaffID) as s

    SET p.TotalDaysHolidayAllowed = s.mysum
    WHERE p.StaffID = s.StaffID

It was the StaffSite part that stopped it from working. 是StaffSite零件阻止了它的工作。 I needed to add each field in like so: 我需要像这样添加每个字段:

session.query(SiteStaff.StaffID, func.sum(SiteStaff.Holiday)).group_by(SiteStaff.StaffID).all()

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM