我正在尝试使用 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