Eigentlich ist das der gewöhnliche DISTINCT-Qualifizierer auf einem SELECT -- aber mit einer irreführenden Syntax (in diesem Punkt haben Sie recht).
DISTINCT ist nie eine Funktion, immer ein Schlüsselwort. Hier wird es (fälschlicherweise) so verwendet, als wäre es eine Funktion, aber
select distinct(pattern) as pattern, style, ... etc ...
from styleview
where ... etc ...
ist tatsächlich äquivalent zu allen folgenden Formen:
-- Fügen Sie nach distinct
ein Leerzeichen hinzu :
select distinct (pattern) as pattern, style, ... etc ...
from styleview
where ... etc ...
-- Entfernen Sie die Klammern um den Spaltennamen:
select distinct
pattern as pattern, style, ... etc ...
from
styleview
where
... etc ...
-- Inhalt der Einrückungsklauseln:
select distinct
pattern as pattern, style, ... etc ...
from
styleview
where
... etc ...
-- Entfernen Sie redundanten Alias, der mit dem Spaltennamen identisch ist:
select distinct
pattern, style, ... etc ...
from
styleview
where
... etc ...
Ergänzende Lektüre:
- http:// weblogs.sqlteam.com/jeffs/archive/2007/10/12/sql-distinct-group-by.aspx
- https://stackoverflow.com/a/1164529
Hinweis:OMG Ponys in eine Antwort auf die aktuelle Frage
erwähnte das DISTINCT ON
Erweiterung von PostgreSQL.
Aber (wie Jay in einem Kommentar zu Recht anmerkte) ist es nicht das, was hier verwendet wird, weil die Abfrage (und die Ergebnisse) anders gewesen wäre, z. B.:
select distinct on(pattern) pattern, style, ... etc ...
from styleview
where ... etc ...
order by pattern, ... etc ...
Äquivalent zu:
select distinct on (pattern)
pattern, style, ... etc ...
from
styleview
where
... etc ...
order by
pattern, ... etc ...
Ergänzende Lektüre:
Hinweis:Lukas Eder in eine Antwort auf die aktuelle Frage
erwähnte die Syntax der Verwendung des Schlüsselworts DISTINCT innerhalb einer Aggregatfunktion:
der COUNT(DISTINCT (foo, bar, ...))
Syntax von HSQLDB
(oder COUNT(DISTINCT foo, bar, ...)
was auch für MySQL funktioniert, aber auch für PostgreSQL, SQL Server, Oracle und vielleicht andere).
Aber (eindeutig) ist es nicht das, was hier verwendet wird.