【问题标题】:Blaze generating invalid sql for simple sql HAVING-style query?Blaze 为简单的 sql HAVING 样式查询生成无效的 sql?
【发布时间】:2017-02-11 03:04:42
【问题描述】:

我正在尝试使用 Blaze 执行一个简单的操作,例如 sql HAVING。当我将 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.

【问题讨论】:

    标签: python sqlite blaze


    【解决方案1】:

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

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 2015-12-08
      • 2017-10-01
      • 2012-09-20
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多