Обсуждение: Bug?
What's wrong with this query that used to work great:
webunl=> SELECT DISTINCT count(*),id_curso AS LINK,titulo AS
TITULO_CARRERA,admin_view_facultades.nombre AS FACULTAD,
webunl-> duracion/12 AS DURACION FROM admin_view, admin_view_facultades
webunl-> WHERE admin_view_facultades.id_carrera=admin_view.id_curso
webunl-> GROUP BY id_curso,titulo,admin_view_facultades.nombre,duracion/12
webunl-> ORDER BY id_curso ASC LIMIT 20 OFFSET 0 ;count | link | titulo_carrera | facultad
| duracion
-------+------+-----------------------------+--------------------------------+---------- 1 | 1 | Ingenieria en
informatica | Facultad de Ingenier<ED>a
Qu<ED>mica | 4 1 | 2 | Licenciatura en Matematicas | Facultad de Ingenier<ED>a
Qu<ED>mica | 4
(2 rows)
webunl=>
As you can see count(*) is 1, even seeing 2 rows selected. What's wrong?
All that chenged is that I recompiled postgreSQL 7.1.2 with the patch from
the rewriteHandler.c file.
--
Porqué usar una base de datos relacional cualquiera,
si podés usar PostgreSQL?
-----------------------------------------------------------------
Martín Marqués | mmarques@unl.edu.ar
Programador, Administrador, DBA | Centro de Telematica Universidad Nacional
del Litoral
-----------------------------------------------------------------
Martín Marqués <martin@bugs.unl.edu.ar> writes:
> What's wrong with this query that used to work great:
Impossible to tell, with that amount of information.
> As you can see count(*) is 1, even seeing 2 rows selected. What's wrong?
Since it's a GROUP BY query, that's not necessarily wrong. The counts
are the number of input rows in each group.
regards, tom lane
Looks like it works as it should. The count(*) function is returning the number of records in each group by condition, or '1' for each row. The count(*) does not return the total number of rows returned by the query. Dwayne Martín Marqués wrote: > What's wrong with this query that used to work great: > > webunl=> SELECT DISTINCT count(*),id_curso AS LINK,titulo AS > TITULO_CARRERA,admin_view_facultades.nombre AS FACULTAD, > webunl-> duracion/12 AS DURACION FROM admin_view, admin_view_facultades > webunl-> WHERE admin_view_facultades.id_carrera=admin_view.id_curso > webunl-> GROUP BY id_curso,titulo,admin_view_facultades.nombre,duracion/12 > webunl-> ORDER BY id_curso ASC LIMIT 20 OFFSET 0 ; > count | link | titulo_carrera | facultad > | duracion > -------+------+-----------------------------+--------------------------------+---------- > 1 | 1 | Ingenieria en informatica | Facultad de Ingenier<ED>a > Qu<ED>mica | 4 > 1 | 2 | Licenciatura en Matematicas | Facultad de Ingenier<ED>a > Qu<ED>mica | 4 > (2 rows) > > webunl=> > > As you can see count(*) is 1, even seeing 2 rows selected. What's wrong? > All that chenged is that I recompiled postgreSQL 7.1.2 with the patch from > the rewriteHandler.c file. > > -- > Porqué usar una base de datos relacional cualquiera, > si podés usar PostgreSQL? > ----------------------------------------------------------------- > Martín Marqués | mmarques@unl.edu.ar > Programador, Administrador, DBA | Centro de Telematica > Universidad Nacional > del Litoral > ----------------------------------------------------------------- > > ---------------------------(end of broadcast)--------------------------- > TIP 4: Don't 'kill -9' the postmaster