COUNTs don't add up

Started by Alexander Turchinover 24 years ago4 messagesgeneral
Jump to latest
#1Alexander Turchin
aturchin@chip.org

Hello all,

I have a database where (I believe; the database was not made by me) one
of the columns contains only two values: A or B. When I count all the
rows in the database I get X; when I count the rows containing A or B in
that column I get X-2; when I count the rows containing neither A nor B
I get 0. Any explanation (hopefully, again, I am doing something wrong
:)?

The actual queries are found below.

Thanks!

Alex

aturchin=# SELECT COUNT(*) FROM homol_loclink
aturchin-# WHERE (species2 = 'Mus musculus') OR
aturchin-# (species2 = 'Rattus norvegicus');
count
-------
7110
(1 row)

aturchin=# SELECT COUNT(*) FROM homol_loclink;
count
-------
7112
(1 row)

aturchin=# SELECT COUNT(*) FROM homol_loclink
aturchin-# WHERE (species2 <> 'Mus musculus') AND
aturchin-# (species2 <> 'Rattus norvegicus');
count
-------
0
(1 row)

#2Alexander Turchin
aturchin@chip.org
In reply to: Alexander Turchin (#1)
Re: COUNTs don't add up

Yes, that turns out to be exactly the case - should have thought of it myself (of
course :).

Thanks!

Alex

wsheldah@lexmark.com wrote:

Show quoted text

Could species2 be null? If so, I don't think those rows would appear when you
test for <> 'somevalue'.

Alexander Turchin <aturchin%chip.org@interlock.lexmark.com> on 07/23/2001
03:32:04 PM

#3omid omoomi
oomoomi@hotmail.com
In reply to: Alexander Turchin (#2)
Re: COUNTs don't add up

hi ,
try this :
select species2, count(*) from homol_loclink group by species2;

it will show you.
Regards
Omid

From: Alexander Turchin <aturchin@chip.org>
To: PostgreSQL Mailing List <pgsql-general@postgresql.org>
Subject: [GENERAL] COUNTs don't add up
Date: Mon, 23 Jul 2001 15:32:04 -0400

Hello all,

I have a database where (I believe; the database was not made by me) one
of the columns contains only two values: A or B. When I count all the
rows in the database I get X; when I count the rows containing A or B in
that column I get X-2; when I count the rows containing neither A nor B
I get 0. Any explanation (hopefully, again, I am doing something wrong
:)?

The actual queries are found below.

Thanks!

Alex

aturchin=# SELECT COUNT(*) FROM homol_loclink
aturchin-# WHERE (species2 = 'Mus musculus') OR
aturchin-# (species2 = 'Rattus norvegicus');
count
-------
7110
(1 row)

aturchin=# SELECT COUNT(*) FROM homol_loclink;
count
-------
7112
(1 row)

aturchin=# SELECT COUNT(*) FROM homol_loclink
aturchin-# WHERE (species2 <> 'Mus musculus') AND
aturchin-# (species2 <> 'Rattus norvegicus');
count
-------
0
(1 row)

---------------------------(end of broadcast)---------------------------
TIP 3: if posting/reading through Usenet, please send an appropriate
subscribe-nomail command to majordomo@postgresql.org so that your
message can get through to the mailing list cleanly

_________________________________________________________________
Get your FREE download of MSN Explorer at http://explorer.msn.com/intl.asp

#4Len Morgan
len-morgan@crcom.net
In reply to: Alexander Turchin (#1)
Re: COUNTs don't add up

Could there be two rows that have NULL is the value? They don't "count" as
far as I know. You can try:

SELECT count(*) from homol_loclink WHERE species2 IS NULL

to verify this.

len morgan

----- Original Message -----
From: "Alexander Turchin" <aturchin@chip.org>
To: "PostgreSQL Mailing List" <pgsql-general@postgresql.org>
Sent: Monday, July 23, 2001 2:32 PM
Subject: [GENERAL] COUNTs don't add up

Show quoted text

Hello all,

I have a database where (I believe; the database was not made by me) one
of the columns contains only two values: A or B. When I count all the
rows in the database I get X; when I count the rows containing A or B in
that column I get X-2; when I count the rows containing neither A nor B
I get 0. Any explanation (hopefully, again, I am doing something wrong
:)?

The actual queries are found below.

Thanks!

Alex

aturchin=# SELECT COUNT(*) FROM homol_loclink
aturchin-# WHERE (species2 = 'Mus musculus') OR
aturchin-# (species2 = 'Rattus norvegicus');
count
-------
7110
(1 row)

aturchin=# SELECT COUNT(*) FROM homol_loclink;
count
-------
7112
(1 row)

aturchin=# SELECT COUNT(*) FROM homol_loclink
aturchin-# WHERE (species2 <> 'Mus musculus') AND
aturchin-# (species2 <> 'Rattus norvegicus');
count
-------
0
(1 row)

---------------------------(end of broadcast)---------------------------
TIP 3: if posting/reading through Usenet, please send an appropriate
subscribe-nomail command to majordomo@postgresql.org so that your
message can get through to the mailing list cleanly