Not
Åtkomst till den här sidan kräver auktorisering. Du kan prova att logga in eller ändra kataloger.
Åtkomst till den här sidan kräver auktorisering. Du kan prova att ändra kataloger.
Gäller för:SQL Server
Azure SQL Database
Azure SQL Managed Instance
Azure Synapse Analytics
Analysplattformssystem (PDW)
SQL-analysslutpunkt i Microsoft Fabric
Lager i Microsoft Fabric
SQL-databas i Microsoft Fabric
Returnerar minimivärdet för alla värden för det angivna uttrycket i en grupp. Kan följas av OVER-satsen .
Anmärkning
Information om hur du får minimivärdet för alla värden för flera uttryck infogade finns i Logiska funktioner – MINST.
Transact-SQL syntaxkonventioner
Syntax
Syntax för sammansättningsfunktionen:
MIN ( [ ALL | DISTINCT ] expression )
Analysfunktionssyntax:
MIN ( [ ALL ] expression ) OVER ( [ <partition_by_clause> ] [ <order_by_clause> ] )
Arguments
ALL
Tillämpar aggregeringsfunktionen på alla värden.
ALL används som standard.
SÄRSKILD
Anger att varje unikt värde beaktas.
DISTINCT är inte meningsfullt med MINoch är endast tillgängligt för ISO-kompatibilitet.
uttryck
En konstant, kolumnnamn eller funktion och valfri kombination av aritmetiska operatorer, bitvis och strängoperatorer.
MIN kan användas med kolumner för numeriska kolumner, tecken, nchar, varchar, nvarchar, uniqueidentifier eller datetime , men inte med bitkolumner . Mängdfunktioner och underfrågor är inte tillåtna.
Mer information finns i Uttryck.
ÖVER ( [ partition_by_clause ] [ order_by_clause ] )
partition_by_clause delar upp resultatuppsättningen FROM som genereras av -satsen i partitioner som funktionen tillämpas på. Om det inte anges behandlar funktionen alla rader i frågeresultatuppsättningen som en enda grupp.
order_by_clause avgör i vilken logisk ordning åtgärden utförs.
Mer information finns i SELECT - OVER-satsen.
Returtyper
Returnerar ett värde som är samma som uttryck.
Anmärkningar
MIN ignorerar alla null-värden.
Med teckendatakolumner MIN hittar du det lägsta värdet i sorteringssekvensen.
MIN är en deterministisk funktion när den OVER används utan - och-satserna ORDER BY . Det är icke-terministiskt när det OVER anges med - och-satserna ORDER BY . Mer information finns i Deterministiska och icke-terministiska funktioner.
MIN fungerar på en uppsättning rader. Information om hur du hämtar minimivärdet för en uppsättning värden i rad finns i Logiska funktioner – MINST.
Examples
Kodexemplen i den här artikeln använder AdventureWorks2025- eller AdventureWorksDW2025-exempeldatabasen, som du kan ladda ned från startsidan Microsoft SQL Server Samples och Community Projects.
A. Grundläggande exempel
I följande exempel returneras den lägsta (lägsta) skattesatsen.
SELECT MIN(TaxRate)
FROM Sales.SalesTaxRate;
GO
Här är resultatet.
-------------------
5.00
B. Använda OVER-satsen
I följande exempel används MINfunktionerna , MAX, AVGoch COUNT med OVER -satsen för att tillhandahålla aggregerade värden för varje avdelning i HumanResources.Department tabellen.
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;
Här är resultatet.
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
Exempel: Azure Synapse Analytics and Analytics Platform System (PDW)
C. Använd MIN
I följande exempel används aggregeringsfunktionen MIN för att returnera priset för den billigaste (lägsta) produkten i en angiven uppsättning försäljningsorder.
-- Uses AdventureWorks
SELECT DISTINCT MIN(UnitPrice)
FROM dbo.FactResellerSales
WHERE SalesOrderNumber IN (N'SO43659', N'SO43660', N'SO43664');
Här är resultatet.
------
5.1865
D. Använda MIN med OVER
I följande exempel används analysfunktionen MIN OVER() för att returnera priset på den billigaste produkten i varje försäljningsorder. Resultatuppsättningen partitioneras av SalesOrderID kolumnen.
-- 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;
Här är resultatet.
LeastExpensiveProduct SalesOrderID
--------------------- ----------
5.1865 SO43659
419.4589 SO43660
28.8404 SO43664