Aracılığıyla paylaş


MIN (Transact-SQL)

Şunlar için geçerlidir:SQL ServerAzure SQL VeritabanıAzure SQL Yönetilen ÖrneğiAzure Synapse AnalyticsAnaliz Platformu Sistemi (PDW)Microsoft Fabric'teki SQL analiz uç noktasıMicrosoft Fabric'teki ambarMicrosoft Fabric'teki SQL veritabanı

Bir grupta belirtilen ifadenin tüm değerlerinin en düşük değerini döndürür. OVER yan tümcesi takip edilebilir.

Uyarı

Satır içi birden çok ifadenin tüm değerlerinin en düşük değerini almak için bkz. Mantıksal işlevler - EN AZ.

Transact-SQL söz dizimi kuralları

Sözdizimi

Toplama işlevinin söz dizimi:

MIN ( [ ALL | DISTINCT ] expression )

Analiz işlevinin söz dizimi:

MIN ( [ ALL ] expression ) OVER ( [ <partition_by_clause> ] [ <order_by_clause> ] )

Arguments

HEPSİ

Toplama işlevini tüm değerlere uygular. ALL varsayılan değerdir.

FARKLI

Her benzersiz değerin dikkate alındığını belirtir. DISTINCT ile MINanlamlı değildir ve yalnızca ISO uyumluluğu için kullanılabilir.

expression

Sabit, sütun adı veya işlev ile aritmetik, bit düzeyinde ve dize işleçlerinin herhangi bir bileşimi. MIN sayısal, karakter, nchar, varchar, nvarchar, uniqueidentifier veya datetime sütunlarıyla kullanılabilir, ancak bit sütunlarında kullanılamaz. Toplama işlevlerine ve alt sorgulara izin verilmez.

Daha fazla bilgi için bkz . İfadeler.

OVER ( [ partition_by_clause ] [ order_by_clause ] )

partition_by_clause yan tümcesi tarafından FROM üretilen sonuç kümesini işlevin uygulandığı bölümlere böler. Belirtilmezse, işlev sorgu sonuç kümesinin tüm satırlarını tek bir grup olarak ele alır.

order_by_clause işlemin gerçekleştirildiği mantıksal sırayı belirler.

Daha fazla bilgi için bkz. SELECT - OVER yan tümcesi.

Dönüş türleri

İfadeyle aynı değeri döndürür.

Açıklamalar

MIN tüm null değerleri yoksayar.

Karakter veri sütunlarıyla harmanlama MIN dizisindeki en düşük değeri bulur.

MINve OVER yan tümceleri olmadan ORDER BY kullanıldığında belirleyici bir işlevdir. ve OVER yan tümceleriyle ORDER BY belirtildiğinde belirsiz değildir. Daha fazla bilgi için bkz . Deterministic ve nondeterministic functions.

MIN bir dizi satır üzerinde çalışır. Satır içi bir değer kümesinin en düşük değerini almak için bkz. Mantıksal işlevler - EN AZ.

Örnekler

Bu makaledeki kod örnekleri, AdventureWorks2025 giriş sayfasından indirebileceğiniz AdventureWorksDW2025 veya örnek veritabanını kullanır.

A. Temel örnek

Aşağıdaki örnek en düşük (en düşük) vergi oranını döndürür.

SELECT MIN(TaxRate)
FROM Sales.SalesTaxRate;
GO

Sonuç kümesi aşağıdadır.

-------------------
5.00

B. OVER yan tümcesini kullanma

Aşağıdaki örnek, tablodaki MINher bölüm MAX için toplu değerler sağlamak üzere yan tümcesiyle AVG birlikte , COUNT, OVERve HumanResources.Department işlevlerini kullanır.

SELECT DISTINCT Name,
                MIN(Rate) OVER (PARTITION BY edh.DepartmentID) AS MinSalary,
                MAX(Rate) OVER (PARTITION BY edh.DepartmentID) AS MaxSalary,
                AVG(Rate) OVER (PARTITION BY edh.DepartmentID) AS AvgSalary,
                COUNT(edh.BusinessEntityID) OVER (PARTITION BY edh.DepartmentID) AS EmployeesPerDept
FROM HumanResources.EmployeePayHistory AS eph
     INNER JOIN HumanResources.EmployeeDepartmentHistory AS edh
         ON eph.BusinessEntityID = edh.BusinessEntityID
     INNER JOIN HumanResources.Department AS d
         ON d.DepartmentID = edh.DepartmentID
WHERE edh.EndDate IS NULL
ORDER BY Name;

Sonuç kümesi aşağıdadır.

Name                          MinSalary             MaxSalary             AvgSalary             EmployeesPerDept
----------------------------- --------------------- --------------------- --------------------- ----------------
Document Control              10.25                 17.7885               14.3884               5
Engineering                   32.6923               63.4615               40.1442               6
Executive                     39.06                 125.50                68.3034               4
Facilities and Maintenance    9.25                  24.0385               13.0316               7
Finance                       13.4615               43.2692               23.935                10
Human Resources               13.9423               27.1394               18.0248               6
Information Services          27.4038               50.4808               34.1586               10
Marketing                     13.4615               37.50                 18.4318               11
Production                    6.50                  84.1346               13.5537               195
Production Control            8.62                  24.5192               16.7746               8
Purchasing                    9.86                  30.00                 18.0202               14
Quality Assurance             10.5769               28.8462               15.4647               6
Research and Development      40.8654               50.4808               43.6731               4
Sales                         23.0769               72.1154               29.9719               18
Shipping and Receiving        9.00                  19.2308               10.8718               6
Tool Design                   8.62                  29.8462               23.5054               6

Örnekler: Azure Synapse Analytics ve Analytics Platform Sistemi (PDW)

C. MIN kullan

Aşağıdaki örnek, belirtilen satış siparişleri kümesindeki en düşük maliyetli (en düşük) ürünün fiyatını döndürmek için toplama işlevini kullanır MIN .

-- Uses AdventureWorks
SELECT DISTINCT MIN(UnitPrice)
FROM dbo.FactResellerSales
WHERE SalesOrderNumber IN (N'SO43659', N'SO43660', N'SO43664');

Sonuç kümesi aşağıdadır.

------
5.1865

D. OVER ile MIN kullanma

Aşağıdaki örneklerde, her satış siparişindeki MIN OVER() en düşük maliyetli ürünün fiyatını döndürmek için analiz işlevi kullanılır. Sonuç kümesi sütuna SalesOrderID göre bölümlenmiştir.

-- Uses AdventureWorks
SELECT DISTINCT MIN(UnitPrice) OVER (PARTITION BY SalesOrderNumber) AS LeastExpensiveProduct,
                SalesOrderNumber
FROM dbo.FactResellerSales
WHERE SalesOrderNumber IN (N'SO43659', N'SO43660', N'SO43664')
ORDER BY SalesOrderNumber;

Sonuç kümesi aşağıdadır.

LeastExpensiveProduct SalesOrderID
--------------------- ----------
5.1865                SO43659
419.4589              SO43660
28.8404               SO43664