首页 > 解决方案 > 计算 .db 文件中的特定信息

问题描述

我希望计算用户选择的特定城市的男性和女性人数。这是 .db 文件的要点:

示例表

CODE     AGE     SEX     CITY
----     ---     ---     ----
E101      25      M      New York
E102      42      F      New York
E103      31      M      Chicago
E104      67      F      Chicago

这是我迄今为止根据我读过的参考资料编写的代码:

city=input("Input city: ")

import sqlite3

db = sqlite3.connect('covid.db')
cursor = db.cursor()

sql = 'SELECT Sex, COUNT(Code) FROM example_table GROUP BY Sex'
data = cursor.execute(sql).fetchall()
for sex, cases in data:
    print(sex, ':', cases)

cursor.close()

到目前为止,它打印了数据中男性和女性的总数。我想问一下如何打印一个城市的男性和女性的确切数量?假设我输入“纽约”,结果将是:

M : 1
F : 1

标签: pythonsqldatabase

解决方案


添加WHERE限制某个城市的子句,例如

sql = 'SELECT Sex, COUNT(Code) FROM example_table WHERE CITY = ? GROUP BY Sex'
params = ('New York',)
data = cursor.execute(sql, params).fetchall()
for sex, cases in data:
    print(sex, ':', cases)

推荐阅读