Re: [SQL] Re: [HACKERS] SELECT DISTINCT question

From: Tom Lane <tgl(at)sss(dot)pgh(dot)pa(dot)us>
To: Oleg Bartunov <oleg(at)sai(dot)msu(dot)su>
Cc: hackers(at)postgreSQL(dot)org, pgsql-sql(at)postgreSQL(dot)org
Subject: Re: [SQL] Re: [HACKERS] SELECT DISTINCT question
Date: 1999-07-11 15:38:43
Message-ID: 15129.931707523@sss.pgh.pa.us
Views: Raw Message | Whole Thread | Download mbox | Resend email
Thread:
Lists: pgsql-hackers pgsql-sql

Oleg Bartunov <oleg(at)sai(dot)msu(dot)su> writes:
> thanks, this works. But why parser complains about such query:

> discovery=> select distinct on a.date a.date, a.bytes from access_log a;
> ERROR: parser: parse error at or near "."

Probably the grammar specifies just <column name> and not anything
more complex after DISTINCT ON. It'd be risky to try to accept a
general expression after ON, due to the silly decision to leave out
any terminating punctuation.

>> SELECT DISTINCT ON is not in SQL92, and I think it shouldn't be in
>> Postgres either...

> I'm not an SQL expert, but if it works and this feature is in standard
> but only syntax is diffrent,

No, there is no feature in SQL that allows DISTINCT on a subset of
columns, period. This is not merely a matter of syntax, it's a
fundamental semantic issue.

> why just not to use standard
>
> select distinct(date), bytes from access_log;
>
> Or I'm missing here ?

I don't think that does what you expect it to (hint: the
parentheses are redundant).

regards, tom lane

Browse pgsql-hackers by date

  From Date Subject
Next Message Tom Lane 1999-07-11 15:52:14 Re: [HACKERS] 6.5.1 CHANGES
Previous Message Jan Wieck 1999-07-11 13:46:26 Re: [ADMIN] Re: [HACKERS] Problems with src/pl/tcl/mkMakefile.tcldefs.sh.in in 6.5

Browse pgsql-sql by date

  From Date Subject
Next Message Oleg Bartunov 1999-07-11 17:46:04 accumulated statistics
Previous Message Herouth Maoz 1999-07-11 14:57:33 Re: [SQL] Bad date representation