En fait, c'est c'est le qualificateur DISTINCT ordinaire sur un SELECT -- mais avec une syntaxe trompeuse (vous avez raison sur ce point).
DISTINCT n'est jamais une fonction, toujours un mot clé. Ici, il est utilisé (à tort) comme s'il s'agissait d'une fonction, mais
select distinct(pattern) as pattern, style, ... etc ...
from styleview
where ... etc ...
est en fait équivalent à toutes les formes suivantes :
-- ajoutez un espace après distinct
:
select distinct (pattern) as pattern, style, ... etc ...
from styleview
where ... etc ...
-- supprimer les parenthèses autour du nom de la colonne :
select distinct
pattern as pattern, style, ... etc ...
from
styleview
where
... etc ...
-- contenu des clauses d'indentation :
select distinct
pattern as pattern, style, ... etc ...
from
styleview
where
... etc ...
-- supprimer l'alias redondant identique au nom de la colonne :
select distinct
pattern, style, ... etc ...
from
styleview
where
... etc ...
Lecture complémentaire :
- http:// weblogs.sqlteam.com/jeffs/archive/2007/10/12/sql-distinct-group-by.aspx
- https://stackoverflow.com/a/1164529
Remarque :OMG Ponies dans une réponse à la question actuelle
mentionné le DISTINCT ON
extension présentée par PostgreSQL.
Mais (comme Jay l'a fait remarquer à juste titre dans un commentaire) ce n'est pas ce qui est utilisé ici, car la requête (et les résultats) auraient été différents, par exemple :
select distinct on(pattern) pattern, style, ... etc ...
from styleview
where ... etc ...
order by pattern, ... etc ...
équivalent à :
select distinct on (pattern)
pattern, style, ... etc ...
from
styleview
where
... etc ...
order by
pattern, ... etc ...
Lecture complémentaire :
Remarque :Lukas Eder dans une réponse à la question actuelle
a mentionné la syntaxe d'utilisation du mot-clé DISTINCT dans une fonction d'agrégat :
le COUNT(DISTINCT (foo, bar, ...))
syntaxe proposée par HSQLDB
(ou COUNT(DISTINCT foo, bar, ...)
qui fonctionne aussi pour MySQL, mais aussi pour PostgreSQL, SQL Server, Oracle et peut-être d'autres).
Mais (assez clairement) ce n'est pas ce qui est utilisé ici.