Несмотря на это, стандарт ANSI SQL указывает, что все агрегатные функции принимают необязательное ключевое слово DISTINCT
. В случае MIN()
и MAX()
это кажется бессмысленным, поскольку результат в любом случае одинаков.
Но для других агрегатных функций, таких как COUNT()
, SUM()
и AVG()
, опция DISTINCT
может повлиять на результат.
Я бы предположил, что стандартный SQL требует, чтобы каждая агрегатная функция поддерживала DISTINCT
, чтобы упростить синтаксис языка. Не вредно поддерживать DISTINCT
там, где это не имеет никакого эффекта, и любая реализация может рассматривать его как запрет на внутреннюю работу.