On 6/21/07, Dani Castaños <dcastanos@xxxxxxxxxx> wrote:
Hello! I'm trying to build an alphabetic pager class. For instance, an address book ordered by the Last Name where only results begining with A are shown, and A - B - C - D - ... links below to change the letter which i'm filtering for. The point is I don't want to have enabled those links wich have no occurrences in them. So, I'm wondering which is the best way to do the query. My first thought to know how many results are there for each, is to do something like: SELECT COUNT(field) FROM table WHERE UPPER( field ) LIKE UPPER( 'A%' ); SELECT COUNT(field) FROM table WHERE UPPER( field ) LIKE UPPER( 'B%' ); SELECT COUNT(field) FROM table WHERE UPPER( field ) LIKE UPPER( 'C%' );
select count(*), upper(substr(field, 1, 1)) from table group by upper(substr(field, 1, 1)); -- Postgresql & php tutorials http://www.designmagick.com/