在SqlAlchemy SQLi中按联合查询中的列排序

2024-05-29 03:05:15 发布

您现在位置:Python中文网/ 问答频道 /正文

this question中所述,您可以使用字符串文字在unions中执行order by

例如,这适用于Oracle:

querypart1 = select([t1.c.col1.label("a")]).order_by(t1.c.col1).limit(limit)
querypart2 = select([t2.c.col2.label("a")]).order_by(t2.c.col2).limit(limit)
query = querypart1.union_all(querypart2).order_by("a").limit(limit)

order by可以采用字符串文本,它是联合结果中列的名称。在

(分区表中有成百上千的行,我正试图对这些该死的东西进行分页)

但是,在针对SQLite3运行时,会生成一个异常:

^{pr2}$

你怎么能order by得到union的结果?在


Tags: 字符串byorderthisselectlabelcol2col1
1条回答
网友
1楼 · 发布于 2024-05-29 03:05:15

作为联合查询一部分的查询不能排序。在

要在复合查询中使用限制,必须将各个查询包装在单独的子查询中:

SELECT * FROM (SELECT ... LIMIT ...)
UNION ALL
SELECT * FROM (SELECT ... LIMIT ...)
^{pr2}$

相关问题 更多 >

    热门问题