--- description: "Analytic Functions (Transact-SQL)" title: "Analytic Functions (Transact-SQL) | Microsoft Docs" ms.custom: "" ms.date: "07/24/2017" ms.prod: sql ms.prod_service: "database-engine, sql-database, sql-data-warehouse, pdw" ms.reviewer: "" ms.technology: t-sql ms.topic: reference dev_langs: - "TSQL" ms.assetid: 60fbff84-673b-48ea-9254-6ecdad20e7fe author: cawrites ms.author: chadam monikerRange: ">=aps-pdw-2016||=azuresqldb-current||=azure-sqldw-latest||>=sql-server-2016||>=sql-server-linux-2017||=azuresqldb-mi-current" --- # Analytic Functions (Transact-SQL) [!INCLUDE [sql-asdb-asdbmi-asa-pdw](../../includes/applies-to-version/sql-asdb-asdbmi-asa-pdw.md)] SQL Server supports these analytic functions: - [CUME_DIST (Transact-SQL)](../../t-sql/functions/cume-dist-transact-sql.md) - [FIRST_VALUE (Transact-SQL)](../../t-sql/functions/first-value-transact-sql.md) - [LAG (Transact-SQL)](../../t-sql/functions/lag-transact-sql.md) - [LAST_VALUE (Transact-SQL)](../../t-sql/functions/last-value-transact-sql.md) - [LEAD (Transact-SQL)](../../t-sql/functions/lead-transact-sql.md) - [PERCENT_RANK (Transact-SQL)](../../t-sql/functions/percent-rank-transact-sql.md) - [PERCENTILE_CONT (Transact-SQL)](../../t-sql/functions/percentile-cont-transact-sql.md)   - [PERCENTILE_DISC (Transact-SQL)](../../t-sql/functions/percentile-disc-transact-sql.md) Analytic functions calculate an aggregate value based on a group of rows. Unlike aggregate functions, however, analytic functions can return multiple rows for each group. Use analytic functions to compute moving averages, running totals, percentages or top-N results within a group. ## See also [OVER Clause (Transact-SQL)](../../t-sql/queries/select-over-clause-transact-sql.md)