Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/python/347.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Python 如何在SQLAlchemy查询中使用sum和order by_Python_Mysql_Sqlalchemy - Fatal编程技术网

Python 如何在SQLAlchemy查询中使用sum和order by

Python 如何在SQLAlchemy查询中使用sum和order by,python,mysql,sqlalchemy,Python,Mysql,Sqlalchemy,我试图从我的表中返回一个求和行,并用求和结果进行排序 我的sql是这样的: self.db_user_online.query( MeleeGameData, func.sum(MeleeGameData.core_data).label("ct") ).\ group_by(MeleeGameData.ccid).\ filter_by(mid=self.cycle_id).\ order_by("ct desc").\ all() 调试回送s

我试图从我的表中返回一个求和行,并用求和结果进行排序

我的sql是这样的:

self.db_user_online.query(
    MeleeGameData,
    func.sum(MeleeGameData.core_data).label("ct")
).\
    group_by(MeleeGameData.ccid).\
    filter_by(mid=self.cycle_id).\
    order_by("ct desc").\
    all()
调试回送sql:

SELECT fiels..., sum(t_act_melee_game_data.core_data) AS ct
FROM t_act_melee_game_data
WHERE t_act_melee_game_data.mid = %s
GROUP BY t_act_melee_game_data.ccid
ORDER BY ct DESC

但是它不能工作。

从SQL代码开始;我假设您希望按每个
ccid
进行分组,然后对相应的数据求和(为了简单起见,我取出了过滤器):

炼金术中的建构

self.db_user_online.query(
    MeleeGameData.ccid,
    func.sum(MeleeGameData.core_data).label("ct")
).\
    group_by(MeleeGameData.ccid).\
    order_by(func.sum(MeleeGameData.core_data).desc()).\
    all()
你可以试试

self.db\u user\u online.query(
MeleeGameData,
函数和(MeleeGameData.core_data).label(“ct”)
) \
.group_by(MeleeGameData.ccid)\
.filter\u by(mid=自循环\u id)\
.订购人(描述(“ct”))\
.all()

您知道如何编写所需的原始SQL吗?
self.db_user_online.query(
    MeleeGameData.ccid,
    func.sum(MeleeGameData.core_data).label("ct")
).\
    group_by(MeleeGameData.ccid).\
    order_by(func.sum(MeleeGameData.core_data).desc()).\
    all()