we usually select expressions without tables
eg select 1+2 ; etc and the results are as expected,
somehow i failed to stretch the analogy to count(*)
which is mostly used over tables or table _expression_.
thanks anyways.
regds
mallah.
On Wed, Mar 9, 2011 at 11:20 PM, Bill Moran <wmoran@xxxxxxxxxxxxxxxxx> wrote:
In response to Rajesh Kumar Mallah <mallah.rajesh@xxxxxxxxx>:
When you don't specify a FROM clause, you get 1 because it's
> Dear List ,
>
> if we simply do select count(*) and not specify any table then it gives 1
> eg:
>
> bric=# SELECT count(*) from job ;
> count
> -------
> 2380
> (1 row)
>
> bric=# SELECT count(*) job ;
> job
> -----
> 1
> (1 row)
>
>
>
> bric=# SELECT count(*) ;
> count
> -------
> 1
> (1 row)
>
>
>
> bric=# SELECT count(*) job_non_exist ;
> job_non_exist
> ---------------
> 1
> (1 row)
>
> bric=# SELECT count(*) jo1b ;
> jo1b
> ------
> 1
> (1 row)
>
> bric=# SELECT count(*) none ;
> ERROR: syntax error at or near "none"
> LINE 1: SELECT count(*) none ;
>
>
> I fail to see any progression ?
returning 1 row. No matter what you alias the result to, it's not going
to change the result, unless of course you try to alias it to an SQL
reserved word, such as "none", without quoting it. Of course, if you
include the optional AS, it probably makes more sense what's going on:
SELECT count(*) AS jolb;
SELECT count(*) AS none;
SELECT count(*) AS "none";
--
Bill Moran
http://www.potentialtech.com
http://people.collaborativefusion.com/~wmoran/