Blaze为简单的sql HAVING样式查询生成无效的sql?

时间:2017-02-11 03:04:42

标签: python sqlite blaze

我试图像使用Blaze的sql一样执行一个简单的操作。当我通过过滤操作将by操作链接在一起时,Blaze没有正确地链接这两个命令。

在sqlite中使用此数据:

   index customer    item  quantity
0      0     Greg  Apples       5.0
1      1     Greg    Soup       NaN
2      2    Susan   Pears       2.0
3      3    Susan  Apples       3.0

这两个操作导致SQL无效

cnts = by(sqllitedf.customer,cnt=sqllitedf.quantity.count())
res = cnts[cnts.cnt > 1]

这是生成的SQL。请注意,这两个操作没有正确链接在一起。相反,COUNT函数使用不当。

print(compute(res))

SELECT df.customer, count(df.quantity) AS cnt 
FROM df 
WHERE count(df.quantity) > ? GROUP BY df.customer

Reproduction in Jupyter Notebook

1 个答案:

答案 0 :(得分:0)

在这里回答我自己的问题:看起来这是Blaze的一个已知问题:https://github.com/blaze/blaze/issues/1457。此外,Blaze自2016年秋季以来似乎没有太大的发展,因此不太可能很快修复。我会避免Blaze,除非它再次变得更加活跃。