Agrupamiento por subcadena de campo alfanumérico

From: "Jose Gomez-Dans" <jgomezdans(at)gmail(dot)com>
To: pgsql-es-ayuda(at)postgresql(dot)org
Subject: Agrupamiento por subcadena de campo alfanumérico
Date: 2007-10-01 22:11:34
Message-ID: 91d218430710011511l5ff6b5a5i9063e19475aad3e0@mail.gmail.com
Views: Raw Message | Whole Thread | Download mbox | Resend email
Thread:
Lists: pgsql-es-ayuda

Hola,
Duda de principiante. Tengo un campo alfanumérico (en realidad es un
código numérico, pero que se compone de distintos elementos). Digamos
que el campo es una concatenación de tres enteros con ceros por
delante: 010600999 (los tres enteros serían 010, 600 y 999). Me
gustaría hacer un group by por valores distintos del primer grupo (en
el ejemplo anterior, el 010) y ver, por ejemplo, la media asociada.

Por ejemplo, supongamos que hay 5 filas:
010600999 ; 105
010600998 ; 110
010599000 ; 100
011000000 ; 50
011999999 ; 40

la salida debería de ser (considerando la media, por ejemplo)
010 ; 105
011 ; 45.

Una forma sería la de usar SUBSTRING, crear un campo nuevo con la
subcadena, y agrupar por ese nuevo campo. Mi pregunta es si existe una
manera mejor de hacerlo, teniendo en cuenta que la tabla es grande, y
que a veces voy a querar hacer la agrupación por más "subcampos" que
en el ejemplo (y hay 9 subcampos).

Muchas gracias por vuestra ayuda,
J

Responses

Browse pgsql-es-ayuda by date

  From Date Subject
Next Message Alvaro Herrera 2007-10-01 22:16:21 Re: Agrupamiento por subcadena de campo alfanumérico
Previous Message Alvaro Herrera 2007-10-01 19:51:01 [inoue@tpf.co.jp: [ANNOUNCE] psqlODBC 08.02.0500 Released]