Модуль 01 · урок 7

LIMIT та OFFSET: обмежуємо кількість

На головну сторінку сайту треба вивести блок «ТОП-3 найдорожчих товари». Не всі 14 — рівно три.

Обмежуємо кількість

LIMIT повертає не більше вказаної кількості рядків. Наприклад, 5 товарів із найбільшим запасом:

SELECT name, stock
FROM products
ORDER BY stock DESC
LIMIT 5;

Пропускаємо початок: OFFSET

OFFSET пропускає перші N рядків. Разом із LIMIT це основа пагінації (посторінкового виводу) — друга «сторінка» по 5 товарів:

ORDER BY stock DESC
LIMIT 5 OFFSET 5   -- пропустити перші 5, узяти наступні 5

Важливо: LIMIT без ORDER BY дає непередбачуваний набір — спершу впорядкуй, потім обмежуй.

рядки після ORDER BY stock DESCrows after ORDER BY stock DESC filas tras ORDER BY stock DESC рядок 1row 1 fila 1рядок 2row 2 fila 2 рядок 3row 3 fila 3рядок 4row 4 fila 4 рядок 5row 5 fila 5рядок 6row 6 fila 6 рядок 7row 7 fila 7рядок 8row 8 fila 8 рядок 9row 9 fila 9рядок 10row 10 fila 10 сторінка 1page 1 página 1 LIMIT 5 сторінка 2page 2 página 2 OFFSET 5 LIMIT 5

Твоя черга

Для головної сторінки потрібен блок «ТОП-3 найдорожчих». Виведи name і price трьох найдорожчих товарів.

Підсумок

  • LIMIT N — не більше N рядків.
  • OFFSET M — пропустити перші M.
  • LIMIT та OFFSET завжди разом з ORDER BY, інакше порядок випадковий.