nie mogę zrobić:sqlalchemy: Ilość odrębne nad wieloma kolumnami
>>> session.query(
func.count(distinct(Hit.ip_address, Hit.user_agent)).first()
TypeError: distinct() takes exactly 1 argument (2 given)
mogę zrobić:
session.query(
func.count(distinct(func.concat(Hit.ip_address, Hit.user_agent))).first()
Który jest w porządku (liczba unikalnych użytkowników w 'pageload' db stół).
W ogólnym przypadku nie jest to poprawne, np. daje liczbę 1 zamiast 2 do poniższej tabeli:
col_a | col_b
----------------
xx | yy
xxy | y
Czy istnieje jakiś sposób, aby generować następujące SQL (co jest ważne w PostgreSQL przynajmniej)?
SELECT count(distinct (col_a, col_b)) FROM my_table;
Bardzo dobrze. Nie pomyślałbym o tym podejściu, ponieważ jest to dużo pisania w SQL ... kiedy jest w SQLA, to bardzo proste! – EoghanM