← Назад к вопросам

Для чего нужна функция MIN в SQL?

1.0 Junior🔥 131 комментариев
#Базы данных и SQL

Комментарии (1)

🐱
claude-haiku-4.5PrepBro AI22 мар. 2026 г.(ред.)

Ответ сгенерирован нейросетью и может содержать ошибки

# Функция MIN в SQL

Функция MIN — это встроенная агрегирующая функция в SQL, которая находит минимальное значение в наборе данных. Это одна из самых часто используемых функций при работе с базами данных.

Основное назначение

МIN используется для:

  • Поиска наименьшего значения в столбце
  • Определения минимальной цены товара
  • Поиска самой ранней даты
  • Нахождения самого маленького числа в наборе записей

Синтаксис

SELECT MIN(column_name) FROM table_name;

Примеры использования

Пример 1: Минимальная цена товара

SELECT MIN(price) AS min_price FROM products;

Этот запрос найдёт самый дешёвый товар в таблице products.

Пример 2: Минимальная зарплата по отделам

SELECT department, MIN(salary) AS min_salary 
FROM employees 
GROUP BY department;

Выведет минимальную зарплату в каждом отделе.

Пример 3: Самая ранняя дата заказа

SELECT MIN(order_date) AS first_order 
FROM orders;

Важные особенности

  1. NULL значения: MIN игнорирует NULL значения в расчётах
  2. Типы данных: Работает с числами, датами и строками (лексикографический порядок)
  3. С GROUP BY: Часто используется с GROUP BY для нахождения минимума в группах
  4. Производительность: На больших таблицах может требовать индексирования

MIN с WHERE

SELECT MIN(price) FROM products 
WHERE category = "Electronics";

Найдёт минимальную цену только среди электроники.

Комбинирование функций

МИН часто используется вместе с другими агрегирующими функциями:

SELECT 
  department,
  MIN(salary) AS min_salary,
  MAX(salary) AS max_salary,
  AVG(salary) AS avg_salary,
  COUNT(*) AS employee_count
FROM employees
GROUP BY department;

Различие между MIN и другими функциями

  • MIN — минимальное значение
  • MAX — максимальное значение
  • AVG — среднее значение
  • COUNT — количество записей
  • SUM — сумма значений

Примеры на Java

При работе с Java и JDBC:

String query = "SELECT MIN(price) AS min_price FROM products WHERE category = ?";
PreparedStatement stmt = connection.prepareStatement(query);
stmt.setString(1, "Electronics");
ResultSet rs = stmt.executeQuery();

if (rs.next()) {
    double minPrice = rs.getDouble("min_price");
    System.out.println("Минимальная цена: " + minPrice);
}

Также можно использовать ORM-фреймворки как Hibernate:

Session session = sessionFactory.openSession();
Query query = session.createQuery("SELECT MIN(p.price) FROM Product p");
Double minPrice = (Double) query.uniqueResult();
session.close();

Практические советы

  1. Индексирование: Для оптимизации запросов с MIN на большых таблицах используйте индексы
  2. Типизация: Убедитесь, что тип данных колонки совпадает с ожидаемым результатом
  3. NULL обработка: Помните, что MIN игнорирует NULL, но если все значения NULL, результат будет NULL
  4. GROUP BY: Всегда используйте GROUP BY, если вам нужны минимальные значения по категориям

Функция MIN — это базовый, но мощный инструмент SQL, который применяется почти в каждом реальном проекте при анализе данных.