Xác định chênh lệch theo bang giữa điều tra dân số năm 2000 và 2008
Trong bài tập cuối cùng này, bạn sẽ viết một truy vấn để tính các bang có mức thay đổi dân số lớn nhất. Bạn sẽ giới hạn truy vấn để chỉ hiển thị 10 bang đứng đầu.
Bài tập này là một phần của khóa học
Nhập môn Cơ sở dữ liệu với Python
Hướng dẫn bài tập
- Xây dựng một câu lệnh để:
- Chọn
state. - Tính chênh lệch dân số giữa năm 2008 (
pop2008) và năm 2000 (pop2000).
- Chọn
- Nhóm truy vấn theo
census.columns.statebằng phương thức.group_by()trênstmt. - Sắp xếp theo
'pop_change'giảm dần bằng phương thức.order_by()với hàmdesc()trên'pop_change'. - Giới hạn truy vấn còn
10bang đứng đầu bằng phương thức.limit(). - Thực thi truy vấn và lưu lại vào
results. - In ra bang và mức thay đổi dân số cho mỗi kết quả. Phần này đã được làm sẵn, nên hãy Gửi câu trả lời để xem kết quả!
Bài tập tương tác thực hành trực tiếp
Hãy thử làm bài tập này bằng cách hoàn thành đoạn mã mẫu này.
# Build query to return state name and population difference from 2008 to 2000
stmt = select([____,
(____-____).label('pop_change')
])
# Group by State
stmt = stmt.____(____)
# Order by Population Change
stmt = stmt.____(____)
# Limit to top 10
stmt = stmt.____(____)
# Use connection to execute the statement and fetch all results
results = connection.execute(____).fetchall()
# Print the state and population change for each record
for result in results:
print('{}:{}'.format(result.state, result.pop_change))