On Fri, 2005-04-08 at 11:07 -0400, Andrew Sullivan wrote:
> On Fri, Apr 08, 2005 at 09:29:13AM -0400, Joel Fradkin wrote:
> >
> > Is there a fast way to get the count?
>
> Not really, no. You have to perform a count() to get it, which is
> possibly expensive. One way to do it, though, is to do
>
> SELECT count(*) FROM tablename WHERE condition LIMIT n;
>
> or something like that. Assuming the condition is reasonably limited
> (i.e. it's not going to cost you a fortune to run this), you'll get
> the right number back if the number is < n or else you'll get
> n.
come again ?
test=# select count(*) from a;count
------- 3
(1 row)
test=# select count(*) from a limit 2;count
------- 3
(1 row)
the LIMIT clause limits the number of rows returned by the select,
in this case 1 row.
maybe you mean something like:
test=# select count(*) from (select * from a limit 2) as foo;count
------- 2
(1 row)
gnari