Det här är faktiskt det vanliga DISTINCT-kvalet på en SELECT -- men med en missvisande syntax (du har rätt i den punkten).
DISTINCT är aldrig en funktion, alltid ett nyckelord. Här används det (felaktigt) som om det vore en funktion, men
select distinct(pattern) as pattern, style, ... etc ...
from styleview
where ... etc ...
motsvarar i själva verket alla följande former:
-- lägg till ett mellanslag efter distinct
:
select distinct (pattern) as pattern, style, ... etc ...
from styleview
where ... etc ...
-- ta bort parenteser runt kolumnnamn:
select distinct
pattern as pattern, style, ... etc ...
from
styleview
where
... etc ...
-- indragssatser innehåll:
select distinct
pattern as pattern, style, ... etc ...
from
styleview
where
... etc ...
-- ta bort redundant alias som är identiskt med kolumnnamnet:
select distinct
pattern, style, ... etc ...
from
styleview
where
... etc ...
Kompletterande läsning:
- http:// weblogs.sqlteam.com/jeffs/archive/2007/10/12/sql-distinct-group-by.aspx
- https://stackoverflow.com/a/1164529
Obs! OMG-ponnyer i ett svar på aktuell fråga
nämnde DISTINCT ON
tillägg med PostgreSQL.
Men (som Jay med rätta påpekade i en kommentar) är det inte det som används här, eftersom frågan (och resultaten) skulle ha varit annorlunda, t.ex.:
select distinct on (pattern)
pattern, style, ... etc ...
from
styleview
where
... etc ...
order by
pattern, ... etc ...
motsvarande:
select distinct on (pattern)
pattern, style, ... etc ...
from
styleview
where
... etc ...
order by
pattern, ... etc ...
Kompletterande läsning:
Obs:Lukas Eder i ett svar på aktuell fråga
nämnde syntaxen för att använda nyckelordet DISTINCT i en aggregerad funktion:COUNT(DISTINCT (foo, bar, ...))
syntax presenterad av HSQLDB
(eller COUNT(DISTINCT foo, bar, ...)
som fungerar för MySQL också, men också för PostgreSQL, SQL Server, Oracle och kanske andra).
Men (tydligt nog) är det inte det som används här.