เรียงลำดับจากมากไปน้อยตามคอลัมน์เดียว
สามารถใช้ .order_by() เพื่อเรียงลำดับจากสูงไปต่ำได้ โดยครอบชื่อคอลัมน์ด้วยฟังก์ชัน desc() แม้ว่าจะยังไม่เคยเห็นฟังก์ชันนี้ในการใช้งานจริง แต่มันก็เป็นการต่อยอดจากสิ่งที่เรียนรู้มาแล้ว
ส่ง desc() (ย่อมาจาก "descending" หรือ "จากมากไปน้อย") ไว้ภายใน .order_by() พร้อมกับชื่อคอลัมน์ที่ต้องการเรียงลำดับ ตัวอย่างเช่น stmt.order_by(desc(table.columns.column_name)) จะเรียงลำดับ column_name จากมากไปน้อย
แบบฝึกหัดนี้เป็นส่วนหนึ่งของหลักสูตร
Python เบื้องต้นสำหรับฐานข้อมูล
คำแนะนำการฝึกหัด
- Import
descจากโมดูลsqlalchemy - เลือกข้อมูลทุกแถวของคอลัมน์
stateจากตารางcensus - เพิ่ม
.order_by()เพื่อเรียงลำดับผลลัพธ์ตามคอลัมน์stateแบบ จากมากไปน้อย แล้วบันทึกผลลัพธ์เป็นrev_stmt - รัน
rev_stmtด้วยconnection.execute()และดึงผลลัพธ์ทั้งหมดด้วย.fetchall()แล้วบันทึกเป็นrev_results - พิมพ์ 10 แถวแรกของ
rev_results
แบบฝึกหัดเชิงโต้ตอบแบบลงมือทำ
ลองทำแบบฝึกหัดนี้โดยเติมโค้ดตัวอย่างนี้ให้สมบูรณ์
# Import desc
from ____ import ____
# Build a query to select the state column: stmt
stmt = ____
# Order stmt by state in descending order: rev_stmt
rev_stmt = stmt.order_by(____)
# Execute the query and store the results: rev_results
rev_results = ____
# Print the first 10 rev_results
print(____)