Re: formulate nested select

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



On 31 Mar 2009 at 18:15, PJ wrote:

<snip>

> >> But I see that I may be trying to do too much - I thought of showing how
> >> many books were listed under each letter of the alphabet but I don't see
> >> how it can be done in any simiple way as it would mean that I would have
> >> to do the select once with the ORDER BY and a second time without it
> >> just to get the number of listing. If there are a lot of books, like
> >> thousands, it might slow down things.
> >> I suppose I could live with ORDER BY "title" as that does not require
> >> another effort.
> >> Any thoughts or suggestions?

Hi,

Sounds like you need to use the GROUP BY functions of MySQL

This SQL is probably wrong because I don't remember seeing your schema (and am too 
busy here to go looking!)

SELECT 
	LEFT(last_name, 1 ) as Letter, Count(bookID) as NumberOfBooks
FROM 
	books INNER JOIN <tables that join them...>
GROUP BY Letter
ORDER BY Letter ASC


You will have to play around with that to get the right results.  But it should give you 
something like:

Letter,NumberOfBooks
A,47
B,21
C,8
...

The MySQL manual has more info:
http://dev.mysql.com/doc/refman/5.0/en/group-by-functions-and-modifiers.html

Regards

Ian
-- 


-- 
PHP General Mailing List (http://www.php.net/)
To unsubscribe, visit: http://www.php.net/unsub.php


[Index of Archives]     [PHP Home]     [Apache Users]     [PHP on Windows]     [Kernel Newbies]     [PHP Install]     [PHP Classes]     [Pear]     [Postgresql]     [Postgresql PHP]     [PHP on Windows]     [PHP Database Programming]     [PHP SOAP]

  Powered by Linux