Я не могу:
>>> session.query(
func.count(distinct(Hit.ip_address, Hit.user_agent)).first()
TypeError: distinct() takes exactly 1 argument (2 given)
Я могу сделать:
session.query(
func.count(distinct(func.concat(Hit.ip_address, Hit.user_agent))).first()
Что хорошо (количество уникальных пользователей в таблице db pageload).
Это неверно в общем случае, например. даст счет 1 вместо 2 для следующей таблицы:
col_a | col_b
----------------
xx | yy
xxy | y
Есть ли способ создать следующий SQL (который действителен в postgresql)?
SELECT count(distinct (col_a, col_b)) FROM my_table;