tôi không thể làm:SQLAlchemy: đếm rõ rệt trên nhiều cột
>>> session.query(
func.count(distinct(Hit.ip_address, Hit.user_agent)).first()
TypeError: distinct() takes exactly 1 argument (2 given)
tôi có thể làm:
session.query(
func.count(distinct(func.concat(Hit.ip_address, Hit.user_agent))).first()
nào là tốt (đếm người dùng duy nhất trong một 'pageload' db bảng).
Điều này không đúng trong trường hợp chung, ví dụ: sẽ cung cấp cho một số trong tổng số 1 thay vì 2 cho bảng sau:
col_a | col_b
----------------
xx | yy
xxy | y
Có cách nào để tạo ra SQL sau đây (có giá trị trong postgresql ít nhất)?
SELECT count(distinct (col_a, col_b)) FROM my_table;
Rất tốt. Sẽ không có suy nghĩ của phương pháp này vì nó rất nhiều đánh máy khi trong SQL .. khi trong SQLA, nó rất dễ dàng! – EoghanM