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
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)