On 06/11/2015 07:17 AM, Marc Mamin wrote:
>>> That's the point. * has no meaning without FROM
>
>
>> But COUNT(*)
>>
>> does have meaning - it means "the number of rows".
>
> which rows? :-)
To follow up on the post from Chris Mair:
test=> select count(*), 'foo';
count | ?column?
-------+----------
1 | foo
See also:
http://www.postgresql.org/docs/9.4/interactive/functions-aggregate.html
count(*) bigint number of input rows
>
>> It's not counting the number of columns in the row, so postgres doesn't need to know what columns exist in the row to return a row count.
>
>> Geoff
>
>
--
Adrian Klaver
adrian(dot)klaver(at)aklaver(dot)com