เริ่มต้นใช้งานเริ่มต้นใช้งานได้ฟรี

การคำนวณผลต่างระหว่างสองคอลัมน์

บ่อยครั้งที่ต้องทำการคำนวณทางคณิตศาสตร์เป็นส่วนหนึ่งของคิวรี เช่น การหาการเปลี่ยนแปลงของจำนวนประชากรระหว่างปี 2000 ถึง 2008 สำหรับการคำนวณตัวเลข ตัวดำเนินการใน SQLAlchemy ทำงานเช่นเดียวกับใน Python

สามารถใช้ตัวดำเนินการเหล่านี้สำหรับการบวก (+), การลบ (-), การคูณ (*), การหาร (/), และโมดูลัส (%) ได้ หมายเหตุ: ตัวดำเนินการเหล่านี้จะทำงานแตกต่างออกไปเมื่อใช้กับคอลัมน์ที่ไม่ใช่ตัวเลข

มาหา 5 รัฐที่มีการเติบโตของประชากรสูงสุดระหว่างปี 2000 ถึง 2008 กัน

แบบฝึกหัดนี้เป็นส่วนหนึ่งของหลักสูตร

Python เบื้องต้นสำหรับฐานข้อมูล

ดูคอร์ส

คำแนะนำการฝึกหัด

  • กำหนดคำสั่ง select ชื่อ stmt เพื่อดึงข้อมูลต่อไปนี้:
    • i) คอลัมน์ state ของตาราง census (census.columns.state)
    • ii) ผลต่างของจำนวนประชากรระหว่างปี 2008 (census.columns.pop2008) และปี 2000 (census.columns.pop2000) โดยตั้งชื่อว่า 'pop_change'
  • จัดกลุ่มคำสั่งตาม census.columns.state
  • เรียงลำดับคำสั่งตามการเปลี่ยนแปลงของประชากร ('pop_change') จากมากไปน้อย โดยส่ง desc('pop_change') เข้าไป
  • ใช้เมธอด .limit() กับคำสั่งก่อนหน้าเพื่อดึงข้อมูลเพียง 5 รายการ
  • รันคำสั่งและดึงข้อมูลทั้งหมดด้วย fetchall()
  • คำสั่ง print ถูกเขียนไว้ให้แล้ว ส่งคำตอบเพื่อดูผลลัพธ์!

แบบฝึกหัดเชิงโต้ตอบแบบลงมือทำ

ลองทำแบบฝึกหัดนี้โดยเติมโค้ดตัวอย่างนี้ให้สมบูรณ์

# Build query to return state names by population difference from 2008 to 2000: stmt
stmt = select([____, (____-____).label(____)])

# Append group by for the state: stmt_grouped
stmt_grouped = stmt.group_by(____)

# Append order by for pop_change descendingly: stmt_ordered
stmt_ordered = stmt_grouped.order_by(____)

# Return only 5 results: stmt_top5
stmt_top5 = ____

# Use connection to execute stmt_top5 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))
แก้ไขและรันโค้ด