Monday, September 12, 2011

Postgresql 9.1 is released now

Download Postgresql 9.1 now

One neat feature, we can now omit extraneous fields on GROUP BY, as long as primary key is already there


create table person
(
person_id serial not null primary key,
firstname text not null,
lastname text not null,
address text not null
);

create table visit
(
visit_id serial not null primary key,
person_id int not null references person(person_id),
url text not null
);


select
    p.person_id,
    p.firstname, p.lastname, p.address, 
    count(*)
from
    person p
    join visit v on p.person_id = v.person_id
group by p.person_id
    -- ,p.firstname, p.lastname, p.address; -- omitting other fields is now possible on 9.1


And it's still the same disciplined Postgresql
select    
    p.firstname, p.lastname, count(*)
from
    person p
    join visit v on p.person_id = v.person_id
group by p.firstname  -- this is not allowed, it's confusing which lastname to pick

No comments:

Post a Comment