выводит информацию о клиентах, чей рейтинг равен максимальному (см. результат запроса в табл. 3.12).

Далее мы рассмотрим функцию нахождения минимального значения столбца.

MIN()

Данная функция возвращает минимальное значение в столбце. Если в запросе вы укажете какое-либо условие отбора, то минимальное значение выбирается из строк, удовлетворяющих условию отбора. Если запросом не найдено ни одной строки или все значения в столбце равны NULL, то функция возвращает значение NULL.

Например, запрос

SELECT MIN(rating) FROM Customers;

возвращает наименьший из рейтингов клиентов – 1000 (табл. 3.29). Таблица 3.29. Результат выполнения запроса

Функцию MIN() можно использовать для поиска строк, в которых достигается минимальное значение столбца.

Например, запрос

SELECT * FROM Customers WHERE rating = (SELECT MIN(rating) FROM Customers);

выводит информацию о клиентах, чей рейтинг равен минимальному (см. результат запроса в табл. 3.11).

Далее мы рассмотрим функцию подсчета количества значений.

COUNT()

Данная функция возвращает количество отличных от NULL значений, содержащихся в столбце. Если в запросе вы укажете какое-либо условие отбора, то в подсчете участвуют только строки, удовлетворяющие условию отбора. Если не найдено ни одного отличного от NULL значения, то функция возвращает значение 0.

Например, запрос

SELECT COUNT(rating) FROM Customers;

возвращает количество отличных от NULL значений в столбце rating таблицы Customers (табл. 3.30). Таблица 3.30. Результат выполнения запроса

Параметр DISTINCT позволяет подсчитать количество различных (уникальных) значений в столбце (при этом неопределенные значения также игнорируются).

Например, запрос

SELECT COUNT(DISTINCT rating) FROM Customers;

подсчитывает количество различных значений рейтинга в таблице Customers (табл. 3.31). В таблице есть две строки с одинаковым рейтингом – 1000, поэтому результат подсчета будет меньше, чем в предыдущем запросе. Таблица 3.31. Результат выполнения запроса

Если в качестве аргумента функции COUNT() указать не имя столбца, а звездочку, то функция возвращает общее число строк, удовлетворяющих условию отбора, включая строки, содержащие неопределенные значения. Так, если столбец rating содержит неопределенные значения, то значение, выводимое запросом

SELECT COUNT(*) FROM Customers;

будет больше, чем значение, выводимое запросом

SELECT COUNT(rating) FROM Customers;

(разность этих значений совпадает с количеством строк, в которых значение в столбце rating равно NULL).

Функцию COUNT() можно использовать для отбора тех строк родительской таблицы, с которыми связано заданное количество строк дочерней таблицы.

Например, запрос

SELECT * FROM Customers

WHERE 2 < = (SELECT COUNT(*) FROM Orders

WHERE Customers.id = customer_id);

Перейти на страницу:

Похожие книги