1. Learn
  2. /
  3. Courses
  4. /
  5. Nhập môn Cơ sở dữ liệu với Python

Connected

Exercise

Đếm dữ liệu duy nhất

Như đã đề cập trong video, mô-đun func của SQLAlchemy cung cấp quyền truy cập vào các hàm SQL dựng sẵn, giúp các thao tác như đếm và tính tổng nhanh và hiệu quả hơn.

Trong video, Jason dùng func.sum() để lấy tổng của cột pop2008 trong census như dưới đây:

select([func.sum(census.columns.pop2008)])

Nếu bạn muốn đếm số lượng giá trị trong pop2008, bạn có thể dùng func.count() như sau:

select([func.count(census.columns.pop2008)])

Hơn nữa, nếu bạn chỉ muốn đếm các giá trị distinct của pop2008, bạn có thể dùng phương thức .distinct():

select([func.count(census.columns.pop2008.distinct())])

Trong bài tập này, bạn sẽ luyện tập dùng func.count() và .distinct() để lấy số lượng bang khác nhau trong census.

Đến giờ, bạn đã thấy .fetchall(), .fetchmany(), và .first() được dùng trên ResultProxy để lấy kết quả. ResultProxy cũng có một phương thức gọi là .scalar() để lấy duy nhất giá trị của một truy vấn chỉ trả về một hàng và một cột.

Điều này rất hữu ích khi bạn chỉ cần truy vấn một giá trị đếm hoặc tổng.

Instructions

100 XP
  • Xây dựng câu lệnh select để đếm các giá trị distinct trong trường state của census.
  • Thực thi stmt để lấy kết quả đếm và lưu vào distinct_state_count.
  • In giá trị của distinct_state_count.