DF040: The DISTINCT keyword is used in the aggregate function.
Last modified: May 28, 2025
The topic describes the DF040 T-SQL code analysis rule.
Category
BEST PRACTICE
Message
The DISTINCT keyword is used in the aggregate function.
Description
Using DISTINCT in aggregate functions can cause significant performance degradation.
Additional information
It should be noted that using DISTINCT in aggregate functions can lead to performance degradation, especially when dealing with large datasets. This may happen because DISTINCT requires the database engine to sort and eliminate duplicate values before performing the aggregation, which can be resource-intensive and time-consuming.
Noncompliant code example
SELECT COUNT(DISTINCT id) AS count_id FROM dbo.DemoTable
GO
Compliant solution
SELECT COUNT(id) AS count_id FROM dbo.DemoTable
GO
Want to find out more?
Overview
Take a quick tour to learn all about the key benefits delivered by dbForge Studio for SQL Server.
All features
Get acquainted with the rich features and capabilities of the tool in less than 5 minutes.
Request a demo
If you consider employing this tool for your business, request a demo to see it in action.