Retroceder   Foros del Web > Programación para sitios web > Bases de Datos

Respuesta
 
Herramientas Desplegado
Antiguo 19-feb-2005, 19:43   #1 (permalink)
amj
amj está en el buen camino
 
Fecha de Ingreso: noviembre-2002
Ubicación: Manizales
Mensajes: 132
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
amj está desconectado   Responder Citando
Antiguo 20-feb-2005, 09:29   #2 (permalink)
DjNelson está en el buen camino
 
Fecha de Ingreso: julio-2003
Mensajes: 675
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)
DjNelson está desconectado   Responder Citando
Antiguo 05-jul-2005, 15:57   #3 (permalink)
Shaka está en el buen camino
 
Fecha de Ingreso: febrero-2003
Mensajes: 140
GUAU, funciono?
Shaka está desconectado   Responder Citando
Antiguo 06-jul-2005, 00:46   #4 (permalink)
Vice está en el buen camino
 
Avatar de Vice
 
Fecha de Ingreso: agosto-2003
Mensajes: 613
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
Vice está desconectado   Responder Citando
Respuesta

No hay votos aún.


Herramientas
Desplegado

Normas de Publicación
No puedes crear nuevos temas
No puedes responder temas
No puedes subir archivos adjuntos
No puedes editar tus mensajes

BB code is Activado
Caritas están Activado
[IMG] está Activado
Código HTML está Desactivado


La Zona horaria es GMT -6. Ahora son las 20:09.


Message Board Statistics

LinkBacks Enabled by vBSEO 3.1.0

1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93