0

Blazeを使用してSQL HAVINGのような単純な操作を実行しようとしています。by 操作とフィルタリング操作をチェーンすると、Blaze は 2 つのコマンドを適切にチェーンしません。

このデータを 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

これら 2 つの操作により、無効な SQL が生成されます

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

これが結果の SQL です。2 つの操作が正しく連結されていないことに注意してください。代わりに、COUNT 関数が不適切に使用されました。

print(compute(res))

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

Jupyter Notebook での再現

4

1 に答える 1