【发布时间】:2016-05-10 09:44:36
【问题描述】:
我有一个表格来跟踪我的应用的所有页面浏览量。
class Tracking_visits(db.Model):
id = db.Column(db.Integer, primary_key=True)
user_id = db.Column(db.Integer, db.ForeignKey('users_user.id'), nullable=False)
ts = db.Column(db.DateTime(timezone=True), default=datetime.datetime.utcnow().replace(tzinfo=pytz.UTC))
此代码适用于按月/年分组访问。
db.session.query(func.count(Tracking_visits.id), extract('month', Tracking_visits.ts).label('m'), extract('year', Tracking_visits.ts).label('y')).group_by('m', 'y').order_by('m', 'y').all()
现在我有另一个目标。我需要获得唯一访问的总数。一个用户可以进行多次访问,但在这种情况下,我只对每月的唯一访问次数感兴趣。我该怎么做?
我读到了一些关于 func.distinct() 的内容,但我不确定如何将它应用到上面的查询中。
【问题讨论】:
标签: sql postgresql flask sqlalchemy flask-sqlalchemy