2010/9/9 Juan Pablo Sandoval Rivera <[email protected]>: m> > Como se observa los registos viene organizados por la fecha de forma > descendenrte, pero el caso que se tiene es que cuando se desea obtener el > primer registro del set, el motor, segun se observa decide usar el segundo > registro, es decir usa como > > segundo ordenamiento el oid, puede ser un fallo? como por obtener el primer > registro, ? , por que razon la segunda consulta > > me arroja el segundo registro y no el primero ? >
Tu consulta esta ordenando *exclusivamente* por la fecha de forma descendente, asi que obtienes este resultado: """ 879676839 | 14693.6960236998 | 2009-12-04 879676723 | 14094.6000000000 | 2009-12-04 """ fijate que ambas fechas son iguales, asi que como determinas cual es el primer registro y cual el segundo? en realidad el orden de esos dos registros no esta definido de ninguna manera y como tu no le has dicho a postgres que hacer (por ejemplo indicando un segundo campo de ordenamiento que defina que hacer en ese caso) postgres los retorna sin ningun orden en particular... en otras palabras el hecho de que el registro con oid 879676839 este primero cuando haces la consulta es solo casualidad y eso puede cambiar sin previo aviso si aumentan datos, actualizas o cambia el plan de ejecucion (que es lo que paso cuando hiciste el limit) -- Jaime Casanova www.2ndQuadrant.com Soporte y capacitación de PostgreSQL - Enviado a la lista de correo pgsql-es-ayuda ([email protected]) Para cambiar tu suscripci�n: http://www.postgresql.org/mailpref/pgsql-es-ayuda
