我正在将Python 2.7与Peewee一起使用。目前,我需要使用Peewee来执行以下SQL查询:
select
a,
b,
substring(c, 1, 3) as alias1,
count(substring(c, 1, 3)) as alias2
from Table
where <some where condition, not relevant here>
group by a, alias1
我的第一个问题是如何使用Peewee执行子字符串。我已经搜索了文档,到目前为止,还不走运。
因此,基本问题是:如何使用Peewee执行
substring
SQL函数?如果有人可以给我一些如何使用Peewee执行上述整个查询的指导,那也将非常好。 最佳答案
好。
经过搜索和搜索,我终于找到了它。只需使用fn.substr
即可完成。
可以在here中找到对该功能的引用。奇怪的是,fn
documentation page中没有相同功能的文档(此处仅记录了方法over
)。
为了回答我自己的问题,SQL查询将类似于(未经测试):
TableModel.select(
a,
b,
fn.substr(c, 1, 3).alias('alias1'),
fn.count(fn.substr(c, 1, 3)).alias('alias2')
) \
.where(<some where condition, not relevant here>) \
.group_by(a, fn.substr(c, 1, 3))
希望这可以在将来对某人有所帮助。
关于python - 在Peewee中执行子字符串查询,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/35501683/