"Brass Tilde" <[EMAIL PROTECTED]> writes:

>> And COUNT doesn't take any arguments anyway, besides '*', as
>> they don't make sense.
>
> On MS SQL Server 2000, one can pass a field name to the COUNT function, and
> though I haven't yet seen any difference in the results between the two, the
> queries run faster with COUNT(<field>) than with COUNT(*).

COUNT(fieldname) provides the count of rows where the data in 'fieldname' is
non-null.  COUNT(*) provides the total count of rows:

sqlite> .dump
BEGIN TRANSACTION;
create table test (ip, domain);
INSERT INTO test VALUES('128.205.7.57','acsu.buffalo.edu');
INSERT INTO test VALUES('128.205.7.57','acsu.buffalo.edu');
INSERT INTO test VALUES('128.205.7.57','acsu.buffalo.edu');
INSERT INTO test VALUES('68.85.92.99','eye-catcher.com');
INSERT INTO test VALUES('1.2.3.4',NULL);
COMMIT;
sqlite> select count(*) as allCount,
   ...>        count(ip) as ipCount,
   ...>        count(domain) as domainCount
   ...>   from test;
   allCount = 5
    ipCount = 5
domainCount = 4
sqlite> 

---------------------------------------------------------------------
To unsubscribe, e-mail: [EMAIL PROTECTED]
For additional commands, e-mail: [EMAIL PROTECTED]

Reply via email to