在Peewee中执行子字符串查询

时间:2016-02-19 09:25:21

标签: python sql peewee

我和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。

1 个答案:

答案 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))

希望这可以帮助将来的某个人。