non posso farlo:SQLAlchemy: conteggio delle distinte su più colonne
>>> session.query(
func.count(distinct(Hit.ip_address, Hit.user_agent)).first()
TypeError: distinct() takes exactly 1 argument (2 given)
posso fare:
session.query(
func.count(distinct(func.concat(Hit.ip_address, Hit.user_agent))).first()
Che va bene (numero di utenti unici in un 'pageload' db tavolo).
Questo non è corretto nel caso generale, ad es. darà un conteggio di 1 invece di 2 per la seguente tabella:
col_a | col_b
----------------
xx | yy
xxy | y
C'è un modo per generare il seguente SQL (che è valido in PostgreSQL almeno)?
SELECT count(distinct (col_a, col_b)) FROM my_table;
Molto buono. Non avrei pensato a questo approccio dato che è un sacco di digitazione quando in SQL .. quando in SQLA, è molto semplice! – EoghanM