Ha rehacer las querys .... Gracias!
El 18 de noviembre de 2011 12:15, Guillermo O. Burastero <[email protected] > escribió: > Hola > > Tu consulta es en general irresoluble y desde el punto de vista > semántico ambigua. > El agrupamiento implica obtener UN SOLO REGISTRO por CADA DIFERENTE > CLAVE DE AGRUPAMIENTO, por lo tanto en la salida SOLO PUEDEN estar los > campos de la clave de agrupamiento o FUNCIONES DE AGREGADO SOBRE LAS > DEMÁS COLUMNAS. Ej suma o promedio de expresiones numéricas sobre las > demás columnas > > Si tengo tabla tPagos (idPersona, fecha, pago) y quiero saber la > totalidad de los pagos por persona (idPersona) hago > > SELECT idPersona, summ (pago) from tPagos GROUP by idPersona ORDER by > idPersona > > Fijate que NO TENDRÍA SENTIDO si hiciera porque una misma persona > puede tener pagos en diferentes fechas. > > SELECT idPersona, fecha, summ (pago) from tPagos GROUP by idPersona > ORDER by idPersona > > Si en cambio tiene sentido: > > SELECT idPersona, fecha, summ (pago) from tPagos GROUP by idPersona, > fecha ORDER by idPersona, fecha > > en donde cada registro de salida tiene la suma de todos los pagos > hechos a una persona en una determinada fecha (ya que fecha es también > campo de agrupamiento). > > Mirá: > http://www.postgresql.org/docs/9.1/static/sql-select.html#SQL-GROUPBY > > > 2011/11/18 felipe fernandez <[email protected]>: > > 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 > > LÍNEA 1: SELECT users.id, users.username, users.email, users.realnam... > > He probado a poner DISTINCT quitando el GROUP BY pero el resultado es > > erróneo porque muestra TODAS los registros. > > ¿Existe alguna manera de que sólo se puede agrupar por un único campo del > > select? > > > > > > -- > > Salu2 > > > > Felipe Fernández Rguez > > "Uno se alegra de resultar útil" Andrew Martin "El hombre bicentenario" > > Isaac Asimov. > > "Documentation is like sex: when it is good, it is very, very good; and > when > > it is bad, it is better than nothing." > > > > > > -- > Guillermo O. Burastero > Usuario GNU/Linux #84879 - http://counter.li.org/ > Bahía Blanca, Buenos Aires, Argentina > Tel. +54 (291) 454-6132 - Móvil [15] 574-3173 > MSN: [email protected] > ICQ: 97148268 > - > Enviado a la lista de correo pgsql-es-ayuda ([email protected] > ) > Para cambiar tu suscripción: > http://www.postgresql.org/mailpref/pgsql-es-ayuda > -- Salu2 Felipe Fernández Rguez "Uno se alegra de resultar útil" Andrew Martin "El hombre bicentenario" Isaac Asimov. "Documentation is like sex: when it is good, it is very, very good; and when it is bad, it is better than nothing."
