Foros Club Delphi

Foros Club Delphi (https://www.clubdelphi.com/foros/index.php)
-   Firebird e Interbase (https://www.clubdelphi.com/foros/forumdisplay.php?f=19)
-   -   ¿como saber cuantos registros devuelve un select? (https://www.clubdelphi.com/foros/showthread.php?t=87100)

mamcx 16-11-2014 17:26:30

Eso depende de cada motor, aunque se sostiene en general lo que puse en el link. Basicamente:

SELECT COUNT(*)

Es un alias a SELECT Count(Tabla)

SELECT COUNT(UNA CONSTANTE)

Cuenta sobre EL RESULTSET.

SELECT COUNT(UnCampo)

Cuenta sobre EL CAMPO

El link de http://www.postgresqltutorial.com/po...ount-function/ esplica los PROS y CONTRAS.

Es importante entender esto, porque COUNT es una función de agregado, y dependiendo de que se le este metiendo a esa función PUEDE OPERAR DE FORMA DIFERENTE, así como SUM, AVG y demás operan diferente dependiendo de que le metas.

Cuando se hace COUNT(1) es un "truco" que se aplica erroneamente:

http://stackoverflow.com/questions/1...ount-vs-count1

A proposito, en términos generales COUNT tiende a ser ineficiente, y de forma diferentes en cada motor. PostgresSql sufre mucho en este aspecto.

Es por eso que la respuesta mejor a

"como puedo hacer pasa conocer cuantos registros obtengo en un select en un stored procedure"

NO ES repetir la consulta de nuevo con un COUNT!

Es preguntarle al cursor cuantos resultados ya tiene (ej: user .recordcount).

Count se debe usar como una funcion de agregado. Yo no vuelvo a sumar una columna que ya sume. Yo no vuelvo a contar la tabla que ya tengo en mi cursor.

roman 18-11-2014 00:03:52

Cita:

Empezado por mamcx (Mensaje 484901)
Es preguntarle al cursor cuantos resultados ya tiene (ej: user .recordcount).

Esto no es lo mejor en muchos casos ya que RecordCount no tiene un valor válido hasta que no se hace un Last, y eso implica traer al cliente todos los registros.

// Saludos


La franja horaria es GMT +2. Ahora son las 11:19:06.

Powered by vBulletin® Version 3.6.8
Copyright ©2000 - 2026, Jelsoft Enterprises Ltd.
Traducción al castellano por el equipo de moderadores del Club Delphi