I wish to count the number of males and females in a specific city that the user chose. Here’s a gist of the .db file:
example_table
x
CODE AGE SEX CITY
---- --- --- ----
E101 25 M New York
E102 42 F New York
E103 31 M Chicago
E104 67 F Chicago
This is what I’ve coded so far based on the references I’ve read:
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()
So far, that prints the overall number of males and females in the data. I’d like to ask how could I print the exact number of males and females in a city? Say I input “New York”, the result would be:
M : 1
F : 1
Advertisement
Answer
Add a WHERE
clause restricting to a certain city, e.g.
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)