PostgreSQL

سرفصل دروس

LIMIT

مقدمه ای بر دستور LIMIT در PostgreSQL 

دستور LIMIT در PostgreSQL یک بخش اختیاری از دستور SELECT می باشد که زیرمجموعه ای از ردیف های برگردانده شده از پرس و جو را انتخاب می نماید. در زیر دستور زبان عبارت LIMIT را مشاهده می نمایید: 

SELECT
 *
FROM
 table_name
LIMIT n;

کد بالا n ردیف از پرس و جو را بر می گرداند. اگر n صفر یا NULL باشد، پرس و جو تمام نتایج را بر می گرداند. زمانیکه می خواهید تعدادی ردیف را قبل از برگرداندن n ردیف نادیده بگیرید می توانید از عبارت OFFSET بعد از LIMIT استفاده نمایید: 

SELECT
 *
FROM
 table
LIMIT n OFFSET m;

ابتدا m ردیف نادیده گرفته می شود و سپس n ردیف برگردانده می شود. از آنجاییکه ترتیب ردیف ها در دیتابیس مشخص نمی باشد هنگامیکه از عبارت LIMIT استفاده می نمایید حتما باید از  ORDER BY برای کنترل ترتیب ردیف ها استفاده نمایید. در غیر اینصورت نتیجه غیر قابل پیشبینی دریافت ی نمایید. 

 

مثال LIMIT در PostgreSQL 

در این مثال از جدول film استفاده می کنیم. 

جدول film

 

برای اتتخاب 5 فیلم اول که بر اساس film_id مرتب شده اند از دستور زیر استفاده می نماییم:

SELECT
 film_id,
 title,
 release_year
FROM
 film
ORDER BY
 film_id
LIMIT 5;

اتتخاب 5 فیلم اول

 

برای انتخاب 4 فیلم بعد از 3 فیلم اول که بر اساس film_id مرتب شده اند از ترکیب عبارت LIMIT با OFFSET استفاده می کنیم: 

SELECT
 film_id,
 title,
 release_year
FROM
 film
ORDER BY
 film_id
LIMIT 4 OFFSET 3;

4 فیلم بعد از 3 فیلم اول

 

اکثرا از دستور LIMIT برای بدست آوردن آیتم های بیشترین و کمترین در دیتابیس استفاده می کنیم. برای مثال 10 فیلم که گرانترین فیلم هستند. برای این منظور ابتدا فیلم ها را بر اساس قیمت بصورت نزولی مرتب می نماییم و سپس توسط LIMIT 10 فیلم را انتخاب می کنیم. به پرس و جوی زیر توجه نمایید: 

SELECT
 film_id,
 title,
 rental_rate
FROM
 film
ORDER BY
 rental_rate DESC
LIMIT 10;

10 فیلم که گرانترین فیلم هستند

 

اشتراک گذاری :