در مطلب پیشین در مورد محدود سازی سطرها با متد ()limit صحبت کردیم. در این مطلب می خواهیم با کمک متد ()order_by به همراه متد ()limit کوئری های بنویسیم که سطرهای خروجی را به صورت نزولی و صعودی مرتب کنند.

پیدا کردن سطر نخست و پایانی درون یک جدول بر اساس مرتب سازی

در کدهای SQL زیر در پایگاه داده MySQL ابتدا سطر پایانی جدول و بر اساس مرتب سازی نزولی و نخستین سطر جدول نشان داده می شود. توجه کنید که برای پیدا کردن سطر پایانی باید بوسیله عبارت ORDER BY DESC نمایش سطرهای خروجی را وارونه کنیم.

در SqlAlchemy متدی به نام ()order_by وجود دارد که برابر با عبارت ORDER BY در SQL است. همانطور که می دانید مرتب سازی به دو روش نزولی (کد نخست بالا) و صعودی انجام می شود. مطابق کد نخست برای مرتب سازی نزولی باید پس از نام ستون، عبارت DESC قرار بگیرد. در صورتی که عبارتی پس از نام ستون نباشد یا عبارت ASC قرار گیرد، پس مرتب سازی نزولی خواهد بود.

مطابق کد زیر در ماژول SqlAlchemy دو متد به نام های ()desc و ()asc وجود دارند که عملکرد آنها برابر با عبارت های DESC و ASC در SQL است. در کدهای و شکل زیر به ترتیب سطر پایانی و سطر نخست بوسیله SQLAlchemy نمایش داده می شوند.

در شکل بالا نگاه کنید خواهید دید که متدهای ()desc و ()asc به گونه های متفاوتی به کار رفته اند. به عبارت دیگر شما می توانید هر دو متد را به یکی از دو روش بالا به کار ببرید. کدهای زیر نمونه های دیگری از کاربرد متدهای ()asc و ()desc و ()offset و ()limit را نشان می دهند.