Я пытаюсь выполнить простую операцию, такую как sql HAVING с использованием Blaze. Когда я соединяюсь вместе с помощью операции фильтрации, Blaze неправильно соединяет две команды.Blaze генерирует недопустимый sql для простого sql запроса типа HAVING?
Используя эти данные в 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.