Re: 2 Query with same criteria giving different number of rows

2003-10-22 Thread Chris Tucker
You're getting a distinct on just the prod_num in the first query, but 
are requesting distinct prod_num, description, line, and content in the 
second one: if any of those last three columns are different between 
rows, you will see ones additional to the count you get in the first 
query.  You either need to count the same set of distinct columns in the 
first query or GROUP BY prod_num in the second.

http://www.mysql.com/doc/en/SELECT.html
http://www.mysql.com/doc/en/GROUP-BY-Functions.html
Chris

Hector Del Curto wrote:
I have this 2 queries:

SELECT COUNT(DISTINCT(LEFT(p.prod_num,5))) FROM products p, tlines l,
prod_line pl WHERE l.Line = 'Solaris' AND l.id=pl.line_id AND pl.prod_id =
p.id_product
SELECT DISTINCT(LEFT(p.prod_num,5))as prod_num, p.description AS
description,l.Line as line,l.Content as content FROM products p, tlines l,
prod_line pl WHERE l.Line = 'Solaris' AND l.id=pl.line_id AND pl.prod_id =
p.id_product
The only difference between them is that in one I want the count of rows and
on the other I want the columns.
When I run the queries I get for example 24 as result of the count and on
the other query I get 26 records.
In those 26 records I get 2 prod_num duplicated when I'm asking for
DISTINCT.
Now, the other thing is if I only leave the prod_num column the number of
rows are the same, if I add another column it changes to 26.
I know I have some duplicates on the second table, and that's affecting the
results, but I don't know why.
Any hint on why is that happening?


   
 Thanks,
   
 Hector



--
MySQL General Mailing List
For list archives: http://lists.mysql.com/mysql
To unsubscribe:http://lists.mysql.com/[EMAIL PROTECTED]


Re: 2 Query with same criteria giving different number of rows

2003-10-22 Thread Illyes Laszlo
Hi!

Think about using DISTINCT and COUNT together.
I don't think it is a best coice.
But maybe I'm wrong.

Please Paul Dubois make your point.

regards

On Wed, 22 Oct 2003 13:25:20 -0400, Hector Del Curto wrote
 I have this 2 queries:
 
 SELECT COUNT(DISTINCT(LEFT(p.prod_num,5))) FROM products p, tlines l,
 prod_line pl WHERE l.Line = 'Solaris' AND l.id=pl.line_id AND 
 pl.prod_id =
 p.id_product
 
 SELECT DISTINCT(LEFT(p.prod_num,5))as prod_num, p.description AS
 description,l.Line as line,l.Content as content FROM products p, 
 tlines l, prod_line pl WHERE l.Line = 'Solaris' AND l.id=pl.line_id 
 AND pl.prod_id =
 p.id_product
 
 The only difference between them is that in one I want the count of 
 rows and on the other I want the columns. When I run the queries I 
 get for example 24 as result of the count and on the other query I 
 get 26 records. In those 26 records I get 2 prod_num duplicated when 
 I'm asking for DISTINCT. Now, the other thing is if I only leave the 
 prod_num column the number of rows are the same, if I add another 
 column it changes to 26. I know I have some duplicates on the second 
 table, and that's affecting the results, but I don't know why. Any 
 hint on why is that happening?
 
   
Thanks,
   
Hector
 
 -- 
 MySQL General Mailing List
 For list archives: http://lists.mysql.com/mysql
 To unsubscribe:http://lists.mysql.com/mysql?
[EMAIL PROTECTED]


Laszlo Illyes
Teaching-assistant
Sapientia University
(Csikszereda) Miercurea-Ciuc
Tel:+40266317310
Fax:+40266317310/+40266371121
Mobil:+40740055706
E-mail: [EMAIL PROTECTED]


-- 
MySQL General Mailing List
For list archives: http://lists.mysql.com/mysql
To unsubscribe:http://lists.mysql.com/[EMAIL PROTECTED]