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

Consultas Count y con fechas

Estas en el tema de Consultas Count y con fechas en el foro de Mysql en Foros del Web. junto con saludarlos amigos de forosdelweb queria hacer un par de consultas la primera: tengo una consulta que trae cierta cantidad de registros de clientes ...
  #1 (permalink)  
Antiguo 25/11/2011, 10:10
 
Fecha de Ingreso: diciembre-2008
Mensajes: 88
Antigüedad: 15 años, 3 meses
Puntos: 0
Pregunta Consultas Count y con fechas

junto con saludarlos amigos de forosdelweb queria hacer un par de consultas la primera:
tengo una consulta que trae cierta cantidad de registros de clientes y cuantos domicilios tienen y lo que deseo es que me cuente todos los clientes que tienen 1 solo domicilio:

select RUT, DESC_PRODUCTO,
count(CC_LLAMADA_ID) as nro_llamados,
ces_ivr_tipo_vel_inet.IDEN_SERVICIO,
ces_ivr_tipo_vel_inet.RUT_PERSONA,
count(distinct IDEN_SERVICIO) as nro_domicilios
from ces_ivr_eventos, ces_ivr_tipo_vel_inet
where RUT=RUT_PERSONA
and PRD_ID='20111115' and ABREV_EVENTO='internet'
group by DESC_PRODUCTO;

RUT Desc_ Producto Nro_llamado ID RUT_PERSONA Nro_Domicilios
xxxxxxxxxxx-8 250K WiMax 2 189757526 xxxxxxx-x 1
xxxxxxxxxxx-8 300 Kbps 21 117360598 xxxxxxxx-8 13
xxxxxxxxxxx-5 300K 24 142387451 xxxxxxxx-5 16
xxxxxxxxxxx-6 600 Megavia 2 134083623 xxxxxxxx-6 1

esto es un ejemplo de lo que devuelve y lo que hace es contar los ID pero quiero que solo cuente los clientes que tienen un solo domicilio. lo intente asi epro da error.

select RUT, DESC_PRODUCTO,
count(CC_LLAMADA_ID) as nro_llamados,
ces_ivr_tipo_vel_inet.IDEN_SERVICIO,
ces_ivr_tipo_vel_inet.RUT_PERSONA,
having count(distinct IDEN_SERVICIO) =1 as nro_domicilios
from ces_ivr_eventos, ces_ivr_tipo_vel_inet
where RUT=RUT_PERSONA
and PRD_ID='20111115' and ABREV_EVENTO='internet'
group by DESC_PRODUCTO;


y la segunda consulta es con la misma tabla pero necesito que cuando la rescate por php la fecha se mueste en la cabecera hasta siete dias me explico:

Nombre Producto | Ventas | 12/08/2011 | 10/09/2011 | 1/08/2011 | 1/08/2011 | ...
300k internet 3 5 8 20

espero haberme explicado bien de antemano muchas gracias.
  #2 (permalink)  
Antiguo 25/11/2011, 11:53
Avatar de gnzsoloyo
Moderador criollo
 
Fecha de Ingreso: noviembre-2007
Ubicación: Actualmente en Buenos Aires (el enemigo ancestral)
Mensajes: 23.324
Antigüedad: 16 años, 4 meses
Puntos: 2658
Respuesta: Consultas Count y con fechas

HAVING va siempre luego del WHERE, del GROUP BY o del ORDER BY.
Es la última cláusula, a menos que haya un LIMIT.
Código MySQL:
Ver original
  1.     RUT, DESC_PRODUCTO,
  2.     count(CC_LLAMADA_ID) nro_llamados,
  3.     ces_ivr_tipo_vel_inet.IDEN_SERVICIO,
  4.     ces_ivr_tipo_vel_inet.RUT_PERSONA,
  5.     count(distinct IDEN_SERVICIO) nro_domicilios
  6. from ces_ivr_eventos, ces_ivr_tipo_vel_inet
  7. where RUT=RUT_PERSONA
  8.     and PRD_ID='20111115' and ABREV_EVENTO='internet'
  9. group by DESC_PRODUCTO
  10. having nro_domicilios=1;
__________________
¿A quién le enseñan sus aciertos?, si yo aprendo de mis errores constantemente...
"El problema es la interfase silla-teclado." (Gillermo Luque)
  #3 (permalink)  
Antiguo 25/11/2011, 14:36
 
Fecha de Ingreso: diciembre-2008
Mensajes: 88
Antigüedad: 15 años, 3 meses
Puntos: 0
Respuesta: Consultas Count y con fechas

Cita:
Iniciado por gnzsoloyo Ver Mensaje
HAVING va siempre luego del WHERE, del GROUP BY o del ORDER BY.
Es la última cláusula, a menos que haya un LIMIT.
Código MySQL:
Ver original
  1.     RUT, DESC_PRODUCTO,
  2.     count(CC_LLAMADA_ID) nro_llamados,
  3.     ces_ivr_tipo_vel_inet.IDEN_SERVICIO,
  4.     ces_ivr_tipo_vel_inet.RUT_PERSONA,
  5.     count(distinct IDEN_SERVICIO) nro_domicilios
  6. from ces_ivr_eventos, ces_ivr_tipo_vel_inet
  7. where RUT=RUT_PERSONA
  8.     and PRD_ID='20111115' and ABREV_EVENTO='internet'
  9. group by DESC_PRODUCTO
  10. having nro_domicilios=1;
si tienes razon pero el problema es que cuando hago el having despues del grup bay me muestra los productos que solo tienen 1 domicilio ocea hace el filtro despues de toda la consulta necesito que se haga antes cosa que sume todos los registros y para luego agruparlos
  #4 (permalink)  
Antiguo 25/11/2011, 14:44
Avatar de gnzsoloyo
Moderador criollo
 
Fecha de Ingreso: noviembre-2007
Ubicación: Actualmente en Buenos Aires (el enemigo ancestral)
Mensajes: 23.324
Antigüedad: 16 años, 4 meses
Puntos: 2658
Respuesta: Consultas Count y con fechas

Porque esa es la función del HAVING. En ese caso no es esa cláusula lo que tienes que usar.
¿Para qué la pones?
__________________
¿A quién le enseñan sus aciertos?, si yo aprendo de mis errores constantemente...
"El problema es la interfase silla-teclado." (Gillermo Luque)
  #5 (permalink)  
Antiguo 25/11/2011, 14:54
 
Fecha de Ingreso: diciembre-2008
Mensajes: 88
Antigüedad: 15 años, 3 meses
Puntos: 0
Respuesta: Consultas Count y con fechas

Cita:
Iniciado por gnzsoloyo Ver Mensaje
Porque esa es la función del HAVING. En ese caso no es esa cláusula lo que tienes que usar.
¿Para qué la pones?
cual seria la clausula que crees que corresponde? puse el having por que se que permite darle una condicion al count

Etiquetas: count, php, registros, select, tabla
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 00:13.