计算值在 sqlite3 数据库表列中出现的次数

我一直在执行查询以计算在我的 sqlite3 数据库表(用户)中,在“国家”列中出现值“澳大利亚”的次数。


australia = db.session.query(Users.country).filter_by(country="Australia").count()

对于可能在此列中的任何国家/地区值,我需要以更动态的方式执行此操作。


我尝试了以下操作,但不幸的是,对于循环变量(每个)中传递的所有值,我只得到了 0 的计数。


country = list(db.session.query(Users.country))


country_dict = list(set(country))


for each in country_dict:


    print(db.session.query(Users.country).filter_by(country=(str(each))).count())

任何帮助将不胜感激。


有只小跳蛙
浏览 378回答 2
2回答

阿晨1998

如果您可以将 sqlite3 模块与直接 SQL 一起使用,则它是一个简单的查询:curs = con.execute("SELECT COUNT(*) FROM users WHERE country=?", ("Australia",))nb = curs.fetchone()[0]
打开App,查看更多内容
随时随地看视频慕课网APP

相关分类

Python