Club Delphi  
    FTP   CCD     Buscar   Trucos   Trabajo   Foros

Retroceder   Foros Club Delphi > Bases de datos > Firebird e Interbase
Registrarse FAQ Miembros Calendario Guía de estilo Temas de Hoy

Respuesta
 
Herramientas Buscar en Tema Desplegado
  #21  
Antiguo 16-11-2014
Avatar de mamcx
mamcx mamcx is offline
Moderador
 
Registrado: sep 2004
Ubicación: Medellín - Colombia
Posts: 3.918
Poder: 25
mamcx Tiene un aura espectacularmamcx Tiene un aura espectacularmamcx Tiene un aura espectacular
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.
__________________
El malabarista.
Responder Con Cita
  #22  
Antiguo 18-11-2014
Avatar de roman
roman roman is offline
Moderador
 
Registrado: may 2003
Ubicación: Ciudad de México
Posts: 20.269
Poder: 10
roman Es un diamante en brutoroman Es un diamante en brutoroman Es un diamante en bruto
Cita:
Empezado por mamcx Ver Mensaje
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
Responder Con Cita
Respuesta



Normas de Publicación
no Puedes crear nuevos temas
no Puedes responder a temas
no Puedes adjuntar archivos
no Puedes editar tus mensajes

El código vB está habilitado
Las caritas están habilitado
Código [IMG] está habilitado
Código HTML está deshabilitado
Saltar a Foro

Temas Similares
Tema Autor Foro Respuestas Último mensaje
Cuantos registros devuelve una consulta kizé MySQL 1 25-10-2010 10:13:30
Saber cuantos registros tiene un GridView JuanErasmo .NET 1 02-01-2007 21:19:32
dbGrid como devuelve el numero de registros omarifr Conexión con bases de datos 3 15-07-2005 20:56:58
Saber cuantos registros origino la consulta JorgeBec SQL 1 12-11-2004 16:48:17
Select Max siempre devuelve valor FernanGil Conexión con bases de datos 3 06-10-2003 15:55:36


La franja horaria es GMT +2. Ahora son las 18:50:02.


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