Foros del Web » Programación para mayores de 30 ;) » Bases de Datos General »

ayuda con count

Estas en el tema de ayuda con count en el foro de Bases de Datos General en Foros del Web. Hola todos estoy haciendo esta consulta: Código: SELECT ca.Id,ba.nombre,ca.precioventa FROM inmuebles AS ca, barrios AS ba WHERE ba.comuna='4' and ca.tipo = '0' and ca.precioventa is ...
  #1 (permalink)  
Antiguo 19/02/2005, 20:43
amj
 
Fecha de Ingreso: marzo-2002
Ubicación: Manizales
Mensajes: 152
Antigüedad: 22 años, 8 meses
Puntos: 1
ayuda con count

Hola todos estoy haciendo esta consulta:
Código:
SELECT ca.Id,ba.nombre,ca.precioventa FROM inmuebles AS ca, barrios AS ba WHERE ba.comuna='4' and ca.tipo = '0' and ca.precioventa is not null and ba.id=ca.barrio limit 15
como ven la tengo a que me muestre de 15 en 15 resultados.
Ahora, lo que quiero es que me devuelva el número de registros totales que hay en dicha consulta sería:
Código:
SELECT count(ca.Id) FROM inmuebles AS ca, barrios AS ba WHERE ba.comuna='4' and ca.tipo = '0' and ca.precioventa is not null and ba.id=ca.barrio
Como hacer para juntar estas dos consultas en una. Intente lo siguiente pero no me da:
Código:
SELECT count(ca.Id),ca.Id,ba.nombre,ca.precioventa FROM inmuebles AS ca, barrios AS ba WHERE ba.comuna='4' and ca.tipo = '0' and ca.precioventa is not null and ba.id=ca.barrio group by ca.Id limit 15
Siempre arroja el valor 1 en el count.

Alguien me entiende, y sabe la solución a mi problema.

Gracias
__________________
"SJ
  #2 (permalink)  
Antiguo 20/02/2005, 10:29
 
Fecha de Ingreso: julio-2003
Ubicación: España
Mensajes: 723
Antigüedad: 21 años, 4 meses
Puntos: 0
SELECT ca.Id,ba.nombre,ca.precioventa,(select (*) from inmuebles as ca, barrios as ba WHERE ba.comuna='4' and ca.tipo = '0' and ca.precioventa is not null and ba.id=ca.barrio limit 15) as cuenta FROM inmuebles AS ca, barrios AS ba WHERE ba.comuna='4' and ca.tipo = '0' and ca.precioventa is not null and ba.id=ca.barrio limit 15
__________________
Solo nosotros podemos decidir qué hacer con el tiempo que se nos ha dado. (Gandalf)
  #3 (permalink)  
Antiguo 05/07/2005, 15:57
 
Fecha de Ingreso: febrero-2003
Mensajes: 141
Antigüedad: 21 años, 9 meses
Puntos: 0
GUAU, funciono?
  #4 (permalink)  
Antiguo 06/07/2005, 00:46
Avatar de Vice  
Fecha de Ingreso: agosto-2003
Mensajes: 613
Antigüedad: 21 años, 3 meses
Puntos: 2
Lo que puso DjNelson, salvo un pequeño error (la sentencia entre paréntesis no lleva el limit 15) debería funcionar. Claro que tiene la limitación de que la versión de mysql que uses admita las subconsultas (versión 4.1 en adelante).
Sino tienes una versión que admita subconsultas no tienes forma de hacerlo en una única sentencia. Lo que más se aproximaría sería:

Código:
SELECT SQL_CALC_FOUND_ROWS ca.Id,ba.nombre,ca.precioventa 
FROM inmuebles AS ca, barrios AS ba 
WHERE ba.comuna='4' and ca.tipo = '0' and ca.precioventa is not null and ba.id=ca.barrio;
select found_rows();
limit 15
Claro que esto también lo obtienes de la forma que has hecho tú. Ventaja de esta forma: rapidez, pues sólo ejecutas la instrucción una única vez en lugar de dos.

Un saludo.
__________________
Estoy contagiado de Generación-I
Atención: Estás leyendo un tema que no tiene actividad desde hace más de 6 MESES, te recomendamos abrir un Nuevo tema en lugar de responder al actual.
Respuesta




La zona horaria es GMT -6. Ahora son las 23:10.