在 sqlalchemy 中按年、月、日分组 [英] group by year, month, day in a sqlalchemy

查看:73
本文介绍了在 sqlalchemy 中按年、月、日分组的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

我想要

DBSession.query(Article).group_by(Article.created.month).all()

但是这个查询不能使用

如何使用 SQLAlchemy 执行此操作?

How do I do this using SQLAlchemy?

推荐答案

假设你的数据库引擎实际上支持像MONTH()这样的函数,你可以试试

assuming you db engine actually supports functions like MONTH(), you can try

import sqlalchemy as sa
DBSession.query(Article).group_by( sa.func.year(Article.created), sa.func.month(Article.created)).all()

否则你可以像python一样分组

else you can group in python like

from itertools import groupby

def grouper( item ): 
    return item.created.year, item.created.month
for ( (year, month), items ) in groupby( query_result, grouper ):
    for item in items:
        # do stuff

这篇关于在 sqlalchemy 中按年、月、日分组的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆