From: A. Kretschmer <andreas.kretschmer@schollglas.com>
To: pgsql-sql@postgresql.org
Subject: Re: Results per letter query
Date: Thu, 21 Jun 2007 12:04:25 +0200
Message-ID: <20070621100425.GH1405@a-kretschmer.de> (raw)
In-Reply-To: <467A406A.3060907@androme.es>
References: <467A406A.3060907@androme.es>
am Thu, dem 21.06.2007, um 11:10:02 +0200 mailte Dani CastaƱos folgendes:
> Hi!
>
> I'm trying to build a query to get if there is an occurrence for a field
> for each alphabetical letter.
> My first thought to know it was to do something like:
>
> SELECT COUNT(field) FROM table WHERE UPPER( field ) LIKE UPPER( 'A%' )
> LIMIT 1;
> SELECT COUNT(field) FROM table WHERE UPPER( field ) LIKE UPPER( 'B%' )
> LIMIT 1;
> SELECT COUNT(field) FROM table WHERE UPPER( field ) LIKE UPPER( 'C%' )
> LIMIT 1;
> ...
> and so on...
>
> Is there any way to do it in only one query??
I'm not sure if i understand you correctly, sorry, if not.
test=*# select * from w;
t
--------
test
foo
bar
foobar
(4 rows)
test=*# select chr(x), count(1) from generate_series(65,90) x, w where
upper(substring (w.t from 1 for 1)) ~ chr(x) group by 1;
chr | count
-----+-------
T | 1
B | 1
F | 2
(3 rows)
Andreas
--
Andreas Kretschmer
Kontakt: Heynitz: 035242/47150, D1: 0160/7141639 (mehr: -> Header)
GnuPG-ID: 0x3FFF606C, privat 0x7F4584DA http://wwwkeys.de.pgp.net
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Reply to all the recipients using the --to and --cc options:
reply via email
To: pgsql-sql@postgresql.org
Cc: andreas.kretschmer@schollglas.com
Subject: Re: Results per letter query
In-Reply-To: <20070621100425.GH1405@a-kretschmer.de>
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
This inbox is served by DDX for PostgreSQL; see mirroring instructions
for how to clone and mirror all data and code used for this inbox