1. Học hỏi
  2. /
  3. Khoa Học
  4. /
  5. Nhập môn Cơ sở dữ liệu với Python

Connected

Bài tập

Tính tổng dân số theo từng bang

Để tránh nhầm lẫn với tên cột của kết quả truy vấn như count_1, bạn có thể dùng phương thức .label() để đặt tên cho cột kết quả. Tên này được gắn thêm vào phương thức hàm bạn đang dùng, và đối số chính là tên bạn muốn đặt.

Ta có thể kết hợp func.sum() với .group_by() để lấy tổng dân số theo State và dùng phương thức label() để đặt tên cho đầu ra.

Bạn cũng có thể tạo biểu thức func.sum() trước khi dùng trong mệnh đề select. Cách làm giống hệt như khi viết trong câu lệnh select và lưu nó vào một biến. Sau đó dùng biến đó trong câu lệnh select ở vị trí mà bình thường bạn sẽ đặt func.sum().

Hướng dẫn

100 XP
  • Import func từ sqlalchemy.
  • Xây dựng một biểu thức để tính tổng các giá trị trong trường pop2008 và gắn nhãn là 'population'.
  • Tạo câu lệnh select để lấy giá trị của trường state và tổng các giá trị trong pop2008.
  • Nhóm câu lệnh theo state bằng phương thức .group_by().
  • Thực thi stmt bằng connection để lấy kết quả và lưu vào results.
  • In ra các khóa/tên cột của kết quả trả về bằng results[0].keys().