मुख्य सामग्री पर जाएं
मॉड्यूल 2 · पाठ 1 का 4पाठ्यक्रम में 5/57~6 min
मॉड्यूल पाठ (1/4)

LIMIT के साथ सीमित करना

एक क्वेरी आसानी से हजारों (या लाखों) पंक्तियाँ लौटा सकती है। जब आप केवल पूर्वावलोकन चाहते हैं - या जब आप टॉप-एन रैंकिंग बनाना चाहते हैं - तो आप इसका उपयोग करते हैं LIMIT खंड:

SQL
SELECT <colonne>
FROM   <tabella>
[WHERE  <condizione>]
[ORDER BY <colonna> [ASC|DESC]]
LIMIT  <numero>;

LIMIT क्वेरी के अंत पर जाता है और परिणाम को छोटा कर देता है पंक्तियों की संख्या दी गई है। अपने आप में रैंकिंग बनाने के लिए यह पर्याप्त नहीं है: बिना ORDER BY, SQL यह गारंटी नहीं देता कि आपको कौन सी पंक्तियाँ वापस मिलेंगी। तो सुनहरा नियम है:

टॉप-एन = ORDER BY + LIMIT।

उदाहरण

SQL
-- Le prime 5 righe della tabella, in ordine arbitrario:
SELECT * FROM employees LIMIT 5;

-- I 3 dipendenti più pagati:
SELECT first_name, last_name, salary
FROM employees
ORDER BY salary DESC
LIMIT 3;

-- I 5 progetti con il budget più basso:
SELECT name, budget
FROM projects
ORDER BY budget ASC
LIMIT 5;

इसे अजमाएं

व्यायाम#sql.m2.l1.e1
प्रयास: 0लोड हो रहा है...

सबसे अधिक वेतन पाने वाले 3 कर्मचारियों का अंतिम नाम (अंतिम_नाम) और वेतन (वेतन) दिखाएं, उच्चतम से लेकर सबसे कम वेतन तक।

संपादक लोड हो रहा है...
संकेत दिखाएँ

आपको रैंकिंग के लिए वेतन DESC द्वारा ऑर्डर और शीर्ष तीन पर बने रहने के लिए LIMIT 3 की आवश्यकता है।

3 प्रयासों के बाद समाधान उपलब्ध है

व्यायाम की समीक्षा करें

व्यायाम#sql.m2.l1.e2
प्रयास: 0लोड हो रहा है...

2 सबसे अधिक वेतन पाने वाले कर्मचारियों को छोड़ें और 3 को तुरंत बाद दिखाएं (घटती वेतन रैंकिंग में तीसरा, चौथा और 5वां)। LIMIT के बाद OFFSET का उपयोग करें.

संपादक लोड हो रहा है...
संकेत दिखाएँ

OFFSET 2 पहली 2 पंक्तियों को छोड़ देता है, LIMIT 3 अगली 3 को ले लेता है।

3 प्रयासों के बाद समाधान उपलब्ध है