Đếm số bản ghi theo bang
Thường thì chúng ta muốn đếm số lượng bản ghi cho mỗi giá trị cụ thể ở một cột khác. Phương thức .group_by() giúp bạn trả lời dạng truy vấn này. Bạn có thể truyền một cột vào .group_by() và dùng cùng với các hàm tổng hợp như sum() hoặc count(). Tương tự như .order_by(), .group_by() có thể nhận nhiều cột làm đối số.
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
- Import
functừsqlalchemy. - Tạo một câu lệnh
selectđể lấy giá trị của trườngstatevà số lượng các giá trị trong trườngage, lưu vàostmt. - Dùng phương thức
.group_by()để nhóm câu lệnh theo cộtstate. - Thực thi
stmtbằngconnectionđể lấy số đếm và lưu kết quả vàoresults. - In các khóa/tên cột của kết quả trả về bằng
results[0].keys().
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.
# Import func
# Build a query to select the state and count of ages by state: stmt
stmt = select([____, ____])
# Group stmt by state
stmt = stmt.group_by(____)
# Execute the statement and store all the records: results
results = connection.execute(____).fetchall()
# Print results
print(results)
# Print the keys/column names of the results returned
print(____)