NTILE()

The NTILE ranking function distributes the rows in an ordered partition into a specified number of groups.

Signature

NTILE (integer_expression) OVER ( [ <partition_by_clause> ] <order_by_clause> )

Examples

SELECT product, amount, NTILE(3) OVER (ORDER BY amount) AS bucket FROM dbo.orders;
product                                  amount       bucket
---------------------------------------- ------------ --------------------
cable                                           15.00                    1
mouse                                           27.75                    1
keyboard                                        49.50                    2
keyboard                                        99.00                    2
monitor                                        219.00                    3
monitor                                        438.00                    3

Run against SQL Server 16.0.4265.3 on 2026-09-13. This is the output we got, not the documentation’s.

Available on

  • SQL Server 2017 and later
  • Azure SQL Database
  • Azure SQL Managed Instance
  • Azure Synapse Analytics
  • Analytics Platform System (PDW)
  • Fabric SQL database

Signature and description adapted from the Microsoft SQL documentation, used under the CC BY 4.0. SQL Server and Azure are trademarks of the Microsoft group of companies. This page is not affiliated with Microsoft.