Skip to content
GitHub

စီစဉ်ခြင်းနှင့် ကန့်သတ်ခြင်း (ORDER BY & LIMIT)

အခုဆိုရင် SELECT နဲ့ ကိုယ်လိုချင်တဲ့ Data တွေ ထုတ်ယူတတ်သွားပါပြီ။ ဒါပေမဲ့ ထွက်လာတဲ့ Data တွေက Database ထဲကို စာရင်းသွင်းခဲ့တဲ့ အချိန်အလိုက် ထွက်လာတာဖြစ်လို့ အစီအစဉ် မကျဘဲ ရှုပ်ပွနေတတ်ပါတယ်။

ကိုယ်လိုချင်တဲ့ အစီအစဉ်အတိုင်း သပ်သပ်ရပ်ရပ် ဖြစ်အောင် (ဥပမာ - ဈေးအကြီးဆုံးကစပြီး အငယ်ဆုံး စီတာ၊ နာမည်တွေကို အက္ခရာစဉ်အတိုင်း (A to Z) စီတာ) လုပ်ချင်ရင် ORDER BY ကို သုံးပါတယ်။ LIMIT ကတော့ ကိုယ်ကြည့်ချင်တဲ့ Data အရေအတွက်ကိုပဲ ကန့်သတ်ပြီး ယူတာပါ။

အစဉ်လိုက် စီစဉ်ခြင်း (ORDER BY)

Section titled “အစဉ်လိုက် စီစဉ်ခြင်း (ORDER BY)”

ORDER BY ကို SELECT ဝါကျရဲ့ အဆုံးနားလေးမှာ ထည့်ရေးပေးရပါတယ်။ သူက အဓိကအားဖြင့် (၂) မျိုး စီလို့ ရပါတယ်-

  1. ASC (Ascending): အငယ်ဆုံးကနေ အကြီးဆုံးကို စီစဉ်တာပါ။ စာသားဆိုရင် (A-Z)၊ ဂဏန်းဆိုရင် (0-9) အတိုင်း စီပေးပါမယ်။ (ဘာမှ မရေးဘဲ ချန်ထားခဲ့ရင်လည်း ပုံသေ (Default) အနေနဲ့ ASC ကိုပဲ အသုံးပြုသွားမှာပါ)
  2. DESC (Descending): အကြီးဆုံးကနေ အငယ်ဆုံးကို ပြောင်းပြန် စီစဉ်တာပါ။ စာသားဆိုရင် (Z-A)၊ ဂဏန်းဆိုရင် (9-0) ပုံစံမျိုးပါ။

ဥပမာ - User တွေကို အသက် အငယ်ဆုံးကနေ အကြီးဆုံးကို အစဉ်လိုက် ထုတ်ပြချင်တယ် ဆိုပါစို့။

SELECT * FROM users
ORDER BY age;
-- (သို့မဟုတ်) ORDER BY age ASC; လို့ ရေးလို့လည်း ရပါတယ်။

အရေအတွက် ကန့်သတ်ခြင်း (LIMIT)

Section titled “အရေအတွက် ကန့်သတ်ခြင်း (LIMIT)”

Data အခု (၁) သိန်းလောက် ရှိနေတဲ့ အထဲကနေ ထိပ်ဆုံးက (၁၀) ယောက်စာ အချက်အလက်ကိုပဲ သိချင်တယ်။ အကုန်လုံးကို ထုတ်ပြနေစရာ မလိုဘူးဆိုတဲ့ အခြေအနေမျိုးမှာ LIMIT ကို သုံးပါတယ်။

ဥပမာ - ဈေးအကြီးဆုံး Product အခု (၅) ခုကိုပဲ ပြပေးပါ။

SELECT product_name, price
FROM products
ORDER BY price DESC
LIMIT 5;

(အဓိပ္ပာယ်: ပထမဦးစွာ ဈေးနှုန်းကို အကြီးဆုံးကနေ အငယ်ဆုံးဖြစ်အောင် DESC သုံးပြီး အရင် စီမယ်။ ပြီးသွားရင် ပေါ်လာတဲ့ အထဲကနေ အပေါ်ဆုံး ၅ ခု LIMIT 5 ကိုပဲ ရွေးပြီး ထုတ်ပြမယ်)

ဒီ ORDER BY နဲ့ LIMIT ကို တွဲသုံးတာဟာ လက်တွေ့ လုပ်ငန်းခွင်မှာ အရမ်း အသုံးဝင်တာမို့ သေချာ လေ့ကျင့်ထားစေချင်ပါတယ် ခင်ဗျာ။