Перейти к содержимому

Как вывести минимальное значение sql

  • автор:

Функция MIN

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

Синтаксис

SELECT MIN(поле) FROM имя_таблицы WHERE условие

Таблицы для примеров

таблица employees

id
айди
name
имя
age
возраст
salary
зарплата
1 user1 23 400
2 user2 25 500
3 user3 23 500
4 user4 30 900
5 user5 27 500
6 user6 28 900

Пример

Давайте найдем минимальное значение зарплаты в таблице:

SELECT MIN(salary) as min FROM employees

Результат выполнения SQL запроса:

min
минимальная зарплата
300

Пример

Давайте найдем минимальное значение зарплаты среди тех записей, у которых id больше или равен 2 -м:

SELECT MIN(salary) as min FROM employees WHERE id>=2

Результат выполнения SQL запроса:

min
минимальная зарплата
400

Пример

Давайте найдем максимальное и минимальное значение зарплаты одновременно:

SELECT MIN(salary) as min, MAX(salary) as max FROM employees

Результат выполнения SQL запроса:

min
минимальная зарплата
max
максимальная зарплата
300 700

Смотрите также

  • функцию MAX ,
    которая возвращает максимальное значение

Функция SQL MIN()

Оператор SQL MIN() — функция возвращающая минимальное значение столбца.

Функция SQL MIN() имеет следующий синтаксис:

MIN(column_name)

Примеры оператора SQL MIN: Имеется следующая таблица Universities :

ID UniversityName Students Faculties Professores Location Site
1 Perm State National Research University 12400 12 1229 Perm psu.ru
2 Saint Petersburg State University 21300 24 13126 Saint-Petersburg spbu.ru
3 Novosibirsk State University 7200 13 1527 Novosibirsk nsu.ru
4 Moscow State University 35100 39 14358 Moscow msu.ru
5 Higher School of Economics 20335 12 1615 Moscow hse.ru
6 Ural Federal University 57000 19 5640 Yekaterinburg urfu.ru
7 National Research Nuclear University 8600 10 936 Moscow mephi.ru

Пример 1. Используя оператор SQL MIN найти минимальное значение столбца Professores:

SELECT MIN(Professores) FROM Universities

Пример 2. Используя оператор SQL MIN найти минимальное значение колонки Students, где расположение университета (Location) — Moscow:

SELECT MIN(Students) FROM Universities WHERE Location = 'Moscow'

Пример 3. Используя оператор SQL MIN найти город (Location), в университете меньше всего студентов (Students):

SELECT Location FROM Universities WHERE Students = (SELECT MIN(Students) FROM Universities)

Логические функции — LEAST (Transact-SQL)

Эта функция возвращает минимальное значение из списка, содержащего одно или несколько выражений.

Синтаксис

LEAST ( expression1 [ , . expressionN ] ) 

Аргументы

expression1, expressionN

Список выражений любого сопоставимого типа данных, разделенный запятыми. Функция LEAST требует по меньшей мере один аргумент, но не более 254 аргументов.

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

Типы возвращаемых данных

Возвращает тип данных с наивысшим приоритетом из переданного функции набора типов. Дополнительные сведения см. в разделе Приоритет типов данных (Transact-SQL).

Если все аргументы имеют одинаковый тип данных и тип поддерживается для сравнения, LEAST возвращает этот тип.

В противном случае функция перед сравнением неявно приводит все аргументы к типу данных с наивысшим приоритетом и использует его как тип возвращаемого значения.

Для числовых типов масштаб типа возвращаемого значения будет соответствовать масштабу аргумента, имеющего тип данных с наивысшим приоритетом, либо наибольшему масштабу, если таких аргументов несколько.

Замечания

Все выражения в списке аргументов должны иметь сопоставимый тип данных, который может быть неявно преобразован в тип аргумента с наивысшим приоритетом.

Перед сравнением выполняется неявное приведение всех аргументов к типу данных с наивысшим приоритетом.

Если неявное преобразование типов между аргументами не поддерживается, функция завершится ошибкой и возвращает ошибку.

Дополнительные сведения о явном и неявном преобразовании см. в статье Преобразование типов данных (ядро СУБД).

Если один или несколько аргументов не NULL являются, NULL то аргументы игнорируются во время сравнения. Если все аргументы являются NULL , возвращается NULL LEAST .

Сравнение символьных аргументов осуществляется в соответствии с правилами, приведенными в статье Очередность параметров сортировки.

Для сравнения не поддерживаются следующие типы: varchar(max), varbinary(max) или nvarchar(max) превышающие 8000 байт, курсор, геометрия , география, география, изображение, неупорядоченные пользователем типы, ntext, table, text и xml. LEAST

Типы данных varchar(max), varbinary(max)и nvarchar(max) поддерживаются для аргументов, 8000 байт или меньше, и будут неявно преобразованы в varchar(n), varbinary(n)и nvarchar(n), соответственно, перед сравнением.

Например, varchar(max) может поддерживать до 8000 символов, если используется набор символов с одним байтом, а nvarchar(max) может поддерживать до 4000 байт-пар (при условии кодировки символов UTF-16).

Примеры

А. Возвращает максимальное значение из списка констант

В следующем примере возвращается минимальное значение из указанного списка констант.

Масштаб типа возвращаемого значения определяется масштабом аргумента с типом данных, имеющим наивысший приоритет.

SELECT LEAST('6.62', 3.1415, N'7') AS LeastVal; GO 
LeastVal ------- 3.1415 (1 rows affected) 

B. Возвращает минимальное значение из списка типов символов

В следующем примере возвращается минимальное значение из указанного списка символьных констант.

SELECT LEAST('Glacier', N'Joshua Tree', 'Mount Rainier') AS LeastString; GO 
LeastString ------------- Glacier (1 rows affected) 

C. Возвращает минимальное значение из списка аргументов столбцов

Этот пример возвращает минимальное значение из списка аргументов столбца и при сравнении игнорирует значения NULL . В этом примере используется база данных AdventureWorksLT , которую можно быстро установить в качестве образца базы данных для нового экземпляра Базы данных SQL Azure. Дополнительные сведения см. в разделе Образцы баз данных AdventureWorks.

SELECT P.Name, P.SellStartDate, P.DiscontinuedDate, PM.ModifiedDate AS ModelModifiedDate, LEAST(P.SellStartDate, P.DiscontinuedDate, PM.ModifiedDate) AS EarliestDate FROM SalesLT.Product AS P INNER JOIN SalesLT.ProductModel AS PM ON P.ProductModelID = PM.ProductModelID WHERE LEAST(P.SellStartDate, P.DiscontinuedDate, PM.ModifiedDate) >= '2007-01-01' AND P.SellStartDate >= '2007-01-01' AND P.Name LIKE 'Touring %' ORDER BY P.Name; 

Результирующий набор: EarliestDate выбирает наименьшее значение даты трех значений, игнорируя NULL .

Name SellStartDate DiscontinuedDate ModelModifiedDate EarliestDate ---------------------- ----------------------- ------------------- ----------------------- ----------------------- Touring Pedal 2007-07-01 00:00:00.000 NULL 2009-05-16 16:34:29.027 2007-07-01 00:00:00.000 Touring Tire 2007-07-01 00:00:00.000 NULL 2007-06-01 00:00:00.000 2007-06-01 00:00:00.000 Touring Tire Tube 2007-07-01 00:00:00.000 NULL 2007-06-01 00:00:00.000 2007-06-01 00:00:00.000 (3 rows affected) 

D. Использование LEAST с локальными переменными

В этом примере с помощью LEAST определяется минимальное значение из списка локальных переменных в предикате предложения WHERE .

CREATE TABLE dbo.Studies ( VarX VARCHAR(10) NOT NULL, Correlation DECIMAL(4, 3) NULL ); INSERT INTO dbo.Studies VALUES ('Var1', 0.2), ('Var2', 0.825), ('Var3', 0.61); GO DECLARE @PredictionA DECIMAL(2, 1) = 0.7; DECLARE @PredictionB DECIMAL(3, 1) = 0.65; SELECT VarX, Correlation FROM dbo.Studies WHERE Correlation < LEAST(@PredictionA, @PredictionB); GO 

Результирующий набор: Отображаются только значения меньше 0,65.

VarX Correlation ---------- ----------- Var1 .200 Var3 .610 (2 rows affected) 

Д. Использование LEAST с столбцами, константами и переменными

В этом примере с помощью LEAST определяется минимальное значение из списка, содержащего столбцы, константы и переменные.

CREATE TABLE dbo.Studies ( VarX VARCHAR(10) NOT NULL, Correlation DECIMAL(4, 3) NULL ); INSERT INTO dbo.Studies VALUES ('Var1', 0.2), ('Var2', 0.825), ('Var3', 0.61); GO DECLARE @VarX DECIMAL(4, 3) = 0.59; SELECT VarX, Correlation, LEAST(Correlation, 1.0, @VarX) AS LeastVar FROM dbo.Studies; GO 
VarX Correlation LeastVar ---------- --------------------- --------------------- Var1 0.200 0.200 Var2 0.825 0.590 Var3 0.610 0.590 (3 rows affected) 

Следующие шаги

  • GREATEST (Transact-SQL)
  • MAX (Transact-SQL)
  • MIN (Transact-SQL)
  • CASE (Transact-SQL)
  • CHOOSE (Transact-SQL)

Поиск минимального и максимального значения в MySQL

Есть определённая таблица, в ней есть поле "price", тип поля "TEXT". Нужно найти минимальное и максимальное значение (цену), для этого использую запрос:

SELECT MIN(price), MAX(price) FROM $table_base 

Но он возвращает значения: 1 и 999.99 соответственно. Минимальное значение отрабатывает чётко, а вот максимальное, нет. Так как в столбце присутствуют значения: 1500.3, 1122.22, 13.99, 999.99, 12.12, 79.79, 100.10, 13333.33, 1, 11 Возникает вопрос, как работают данные команды и как решить вопрос с тем что бы они находили верные решения.

Отслеживать

8,900 11 11 золотых знаков 31 31 серебряный знак 55 55 бронзовых знаков

Добавить комментарий

Ваш адрес email не будет опубликован. Обязательные поля помечены *

Luxury Car Rental in Miami | Reserve a Premium Vehicle with RealCar