我和Peewee一起使用Python 2.7。此时,我需要使用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。
答案 0 :(得分:3)
确定。
搜索和搜索后,我终于找到了它。只需使用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))
希望这可以帮助将来的某个人。