Trên thực tế đây là định tính DISTINCT thông thường trên SELECT - nhưng có cú pháp gây hiểu lầm (bạn nói đúng về điểm đó).
DISTINCT không bao giờ là một hàm, luôn luôn là một từ khóa. Ở đây nó được sử dụng (sai) như thể nó là một hàm, nhưng
select distinct (pattern) as pattern, style, ... etc ...
from styleview
where ... etc ...
trên thực tế tương đương với tất cả các dạng sau:
- thêm dấu cách sau distinct
:
select distinct (pattern) as pattern, style, ... etc ...
from styleview
where ... etc ...
- xóa dấu ngoặc đơn xung quanh tên cột:
select distinct
pattern as pattern, style, ... etc ...
from
styleview
where
... etc ...
- nội dung mệnh đề thụt lề:
select distinct
pattern as pattern, style, ... etc ...
from
styleview
where
... etc ...
- xóa bí danh thừa giống với tên cột:
select distinct
pattern, style, ... etc ...
from
styleview
where
... etc ...
Đọc bổ sung:
- http:// weblogs.sqlteam.com/jeffs/archive/2007/10/12/sql-distinc-group-by.aspx
- https://stackoverflow.com/a/1164529
Lưu ý:Chú ngựa con OMG trong câu trả lời cho trình bày câu hỏi
đã đề cập đến DISTINCT ON
tiện ích mở rộng được PostgreSQL giới thiệu.
Nhưng (như Jay đã nhận xét đúng trong một nhận xét) nó không phải là thứ được sử dụng ở đây, bởi vì truy vấn (và kết quả) sẽ khác, ví dụ:
select distinct on (pattern)
pattern, style, ... etc ...
from
styleview
where
... etc ...
order by
pattern, ... etc ...
tương đương với:
select distinct on (pattern)
pattern, style, ... etc ...
from
styleview
where
... etc ...
order by
pattern, ... etc ...
Đọc bổ sung:
Lưu ý:Lukas Eder trong câu trả lời cho trình bày câu hỏi
đã đề cập đến cú pháp của việc sử dụng từ khóa DISTINCT bên trong một hàm tổng hợp:
the COUNT(DISTINCT (foo, bar, ...))
cú pháp được đặc trưng bởi HSQLDB
(hoặc COUNT(DISTINCT foo, bar, ...)
mà cũng hoạt động cho MySQL, nhưng cũng cho PostgreSQL, SQL Server, Oracle và có thể khác).
Nhưng (đủ rõ ràng) nó không phải là những gì được sử dụng ở đây.