kann ich nicht tun:sqlalchemy: Zählt eindeutig über mehrere Spalten
>>> session.query(
func.count(distinct(Hit.ip_address, Hit.user_agent)).first()
TypeError: distinct() takes exactly 1 argument (2 given)
ich tun kann:
session.query(
func.count(distinct(func.concat(Hit.ip_address, Hit.user_agent))).first()
was in Ordnung ist (Anzahl der Unique User in einem 'Pageload' db-Tabelle).
Dies ist im allgemeinen Fall, z. gibt einen Zählwert von 1 anstelle von 2 für die folgende Tabelle:
col_a | col_b
----------------
xx | yy
xxy | y
Gibt es eine Möglichkeit die folgenden SQL (die in postgresql mindestens gültig ist) zu erzeugen?
SELECT count(distinct (col_a, col_b)) FROM my_table;
Sehr gut. Ich hätte nicht an diesen Ansatz gedacht, da es viel in SQL schreibt. In SQLA ist es sehr einfach! – EoghanM