Re: SQL Question

From: "Mitch Vincent" <mitch(at)venux(dot)net>
To: "Matthew" <matt(at)ctlno(dot)com>, <pgsql-general(at)postgresql(dot)org>
Subject: Re: SQL Question
Date: 2001-02-22 21:37:12
Message-ID: 017701c09d17$9e1886b0$0200000a@windows
Views: Raw Message | Whole Thread | Download mbox | Resend email
Thread:
Lists: pgsql-general

> select count( distinct browser, ssn) from applicant_sessions where browser
> like '%5.5%';
>
> But I get this error:
>
> ERROR: Aggregate functions may only have one parameter

To be expected for count, I think..

> In 7.1 I can do:
> select count(*) from (select distinct browser, ssn from applicant_sessions
> where browser like '%5.5%') as distinctbrow;
>
> to get the desired result, but I can't do that in 7.0.x. Any suggestions?
> Am I doing anything wrong with my sql syntax. I'm working around it right
> now by doing a pg_numrows from PHP after I do the first select, but I
would
> like to get the count directly as it will be faster.

Are you not doing the query SELECT * FROM applicant_sessions WHERE browser
LIKE '%5.5%' ? If you're not then yes, selecting just the count will be
faster but if you're already doing the query then why not just see how many
rows are returned by it.. It's one less step if you have to run the query
anyway..

> select count(*) from (select distinct browser, ssn from applicant_sessions
> where browser like '%5.5%') as distinctbrow;

That would be slower than just the inner SELECT by itself, so you're not
gaining anything even by doing that in 7.1.. You're still executing that
sub-select and doing processing against it.. *shrug*

Just some thoughts.. Good luck..

-Mitch

In response to

Browse pgsql-general by date

  From Date Subject
Next Message Rini Dutta 2001-02-22 21:44:06 Re: how critical is WAL
Previous Message Matthew 2001-02-22 21:13:47 SQL Question