Thuta Learning
ရှာဖွေရန်
BasicData & Databasesbeginner

SELECT၊ Filter၊ Sort နှင့် Pagination

စိတ်လျှော့ပါ။ ဒီခန်းကို စာအုပ်လိုမဟုတ်ဘဲ စကားပြောသလိုပဲ၊ နားလည်လွယ်အောင် ရှင်းပါမယ်။

ဒီခန်းပြီးရင် ဘာတတ်သွားမလဲ

  • SELECT၊ Filter၊ Sort နှင့် Pagination concept ကို နားလည်ရှင်းပြနိုင်ရန်
  • နမူနာ SQL/command ကို ကိုယ်တိုင် run ပြီး output စစ်နိုင်ရန်
  • Tutorial Platform project နှင့် production scenario တွင် အသုံးချနိုင်ရန်

နားလည်ထားရမယ့် အချက်

SQL result အစီအစဉ်ကို `ORDER BY` မရေးလျှင် မအာမခံပါ။ Pagination အတွက် `LIMIT/OFFSET` က လွယ်ကူပေမယ့် offset ကြီးလာရင်နှေးပြီး concurrent insert များကြား duplicate/skip ဖြစ်နိုင်ပါတယ်။ Stable ordering key နှစ်ခုသုံးပြီး large feed များမှာ keyset pagination သို့ပြောင်းသင့်ပါတယ်။

လက်တွေ့ scenario နဲ့ ချိတ်ကြည့်မယ်

Published tutorial များကို date descending နဲ့ပြပြီး date တူရင် ID descending ဖြင့် deterministic ဖြစ်စေမယ်။ Search filter အတွက် input ကို string concatenation မလုပ်ဘဲ application မှ parameter ပေးရပါတယ်။ ဒီ lesson မှာ query semantics ကိုအရင်လေ့လာပြီး parameterization ကို project chapter မှာချိတ်မယ်။

အတူတူ စမ်းရေးကြည့်မယ်

sql
-- First page
SELECT tutorial_id, title, published_at
FROM app.tutorials
WHERE is_published = true
ORDER BY published_at DESC, tutorial_id DESC
LIMIT 10;

-- Next keyset page: values come from the last visible row
SELECT tutorial_id, title, published_at
FROM app.tutorials
WHERE is_published = true
  AND (published_at, tutorial_id) <
      (TIMESTAMPTZ '2026-08-01 10:00:00+00', 42)
ORDER BY published_at DESC, tutorial_id DESC
LIMIT 10;
You should see
Published tutorial များကို stable order ဖြင့် page ခွဲယူနိုင်မည်။

၅ မိနစ် စမ်းကြည့်

Active user များကို created time နဲ့ ID အလိုက် keyset pagination query ရေးပါ။

သတိလေးတစ်ချက်

Sort column မတူညီနိုင်သော value ဖြစ်ပြီး unique tie-breaker မထည့်ရင် page အကြား row ပျောက်/ထပ်နိုင်ပါတယ်။

PostgreSQL — QueriesPostgreSQL Global Development Group

ဒီနေရာမှာ လူအများမှားတတ်တယ်

  • Sort column မတူညီနိုင်သော value ဖြစ်ပြီး unique tie-breaker မထည့်ရင် page အကြား row ပျောက်/ထပ်နိုင်ပါတယ်။
  • နမူနာ code ကို production data ပေါ် တိုက်ရိုက်မစမ်းဘဲ local/test database နှင့် recoverable backup ပေါ်တွင် အရင်အတည်ပြုပါ။

လေ့ကျင့်ခန်း

Active user များကို created time နဲ့ ID အလိုက် keyset pagination query ရေးပါ။

You'll know it worked when: Published tutorial များကို stable order ဖြင့် page ခွဲယူနိုင်မည်။

SELECT၊ Filter၊ Sort နှင့် Pagination | Thuta Learning