Skip site navigation (1) Skip section navigation (2)

Re: Group by de mysql a postgresql

From: Alvaro Herrera <alvherre(at)alvh(dot)no-ip(dot)org>
To: felipe fernandez <ffdezrguez(at)gmail(dot)com>
Cc: Ayuda <pgsql-es-ayuda(at)postgresql(dot)org>
Subject: Re: Group by de mysql a postgresql
Date: 2011-11-18 13:55:46
Message-ID: 1321624030-sup-8476@alvh.no-ip.org (view raw or flat)
Thread:
Lists: pgsql-es-ayuda
Excerpts from felipe fernandez's message of vie nov 18 06:34:53 -0300 2011:
> Hola
> 
> Estoy migrando una base de datos de una web de mysql a postgresql. Los
> datos ya están pero las querys que tiene group by son un dolor de cabeza.
> Un ejemplo
> 
> SELECT  users.id, users.username, users.email, users.realname
> 
> FROM follow la
> JOIN users ON users.id = la.user_id
> WHERE users.deleted = 0
> GROUP BY users.id
> 
> ERROR:  column "users.username" must appear in the GROUP BY clause or be
> used in an aggregate function

Prueba una versión más reciente de Postgres.  Si los campos que pones en
group by son llave única en las tablas involucradas, el sistema
automáticamente sabe que la agrupación sólo puede entregar un solo
registro por grupo y por lo tanto no te obliga a listas todas las
columnas en el group by.  En muchos casos quizás te ahorres el trabajo
de editar las queries.

No recuerdo en qué versión se agregó esta característica.

-- 
Álvaro Herrera <alvherre(at)alvh(dot)no-ip(dot)org>

In response to

Responses

pgsql-es-ayuda by date

Next:From: Alejandro CarrilloDate: 2011-11-18 13:59:37
Subject: Rv: Group by de mysql a postgresql
Previous:From: I.N.T. - Dpto. programaciónDate: 2011-11-18 13:43:18
Subject: Re: encoding

Privacy Policy | About PostgreSQL
Copyright © 1996-2014 The PostgreSQL Global Development Group