65 / 100

LEAST

Eng kichik qiymatni tanlash

Kirish: Ushbu qo'llanmada siz PostgreSQL LEAST() funksiyasi yordamida berilgan ifodalar yoki qiymatlar ro'yxatidan eng kichigini tanlab olishni o'rganasiz.

PostgreSQL LEAST() funksiyasiga kirish

LEAST() funksiyasi bir nechta qiymatlarni qabul qiladi va ular orasidan eng kichigini (eng pastini) qaytaradi.

Funksiyaning sintaksisi:

query.sql
LEAST (expression1, expression2, ...)
  • PostgreSQLda LEAST() funksiyasi NULL qiymatlarni e'tiborsiz qoldiradi (inkor qiladi). Faqat barcha argumentlar NULL bo'lsagina NULL qaytaradi.
  • Funksiyaga uzatilgan barcha ifodalar bir-biriga mos keluvchi ma'lumot turlariga ega bo'lishi lozim.

Oddiy misollar

Raqamlar orasidan eng kichigini topish:

query.sql
SELECT LEAST(1, 2, 3) AS lowest;
-- 1

Alifbo tartibi bo'yicha eng birinchi matnni topish:

query.sql
SELECT LEAST('A', 'B', 'C') AS smallest;
-- A

Mantiqiy qiymatlarni taqqoslash (false qiymati true dan kichik deb hisoblanadi):

query.sql
SELECT LEAST(true, false) AS smallest;
-- false (f)

Sanalardan eng avvalgisini (erta sana) topish:

query.sql
SELECT LEAST('2025-01-01', '2025-02-01', '2025-03-01', NULL) AS earliest;
-- 2025-01-01

Bu yerda ham NULL inkor qilinadi va mavjud sanalarning eng kichigi tanlanadi.

Amaliy qo'llash: Yuqori chegarani cheklash (Cap)

Agar siz ma'lum bir hisob-kitob natijasi qandaydir maksimal miqdordan oshib ketmasligini ta'minlamoqchi bo'lsangiz, LEAST() funksiyasidan foydalanishingiz mumkin.

Masalan, xaridorlarga beriladigan chegirma foizi:

  • Oddiy hisobda har bir xarid uchun ballar bo'yicha hisoblanadi;
  • Biroq chegirma hech qachon 30% dan oshmasligi kerak.
query.sql
SELECT
  customer_name,
  bonus_points,
  LEAST(bonus_points * 0.5, 30.0) AS applied_discount_percentage
FROM
  customers;

Agar bonus_points * 0.5 qiymati 40% bo'lsa ham, LEAST(40.0, 30.0) funksiyasi maksimal chegara bo'lgan 30.0 ni qaytaradi.

Xulosa

  • Qiymatlar to'plamidan eng kichigini tanlash uchun LEAST() funksiyasidan foydalaning.
  • LEAST() funksiyasi NULL qiymatlarni e'tiborsiz qoldiradi.
  • Yuqori maksimal chegarani cheklab qo'yish uchun LEAST(hisoblangan_qiymat, maksimal_limit) usulidan foydalanish juda qulaydir.