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

Ayuda con una consulta

Estas en el tema de Ayuda con una consulta en el foro de Mysql en Foros del Web. Por favor necesito saber como hacer una consulta por que no tengo mucha experiencia. tengo una tabla con los siguientes campos id_mensaje mensaje numero fecha ...
  #1 (permalink)  
Antiguo 24/11/2006, 08:24
Avatar de seyacat  
Fecha de Ingreso: agosto-2006
Mensajes: 382
Antigüedad: 17 años, 7 meses
Puntos: 0
Ayuda con una consulta

Por favor necesito saber como hacer una consulta por que no tengo mucha experiencia.

tengo una tabla con los siguientes campos

id_mensaje
mensaje
numero
fecha

Ahora lo que necesito es que me despliegue un grid de conteo fecha VS numero
y quede asi
Código PHP:
fecha             593xxxxxx     593xxxxx     592xxxxxx
2006
-12-12     45               45              67
2006
-12-13     25               78              67
2006
-12-14     78               23              98
2006
-12-15     67               45              45 
Los numeros telefonicos son varios, y igual las fechas no son predecibles.

Les agradeceria mucgo si me ayudan

X.
  #2 (permalink)  
Antiguo 26/11/2006, 13:22
Avatar de haron  
Fecha de Ingreso: febrero-2004
Ubicación: Cádiz (refinitivo)
Mensajes: 632
Antigüedad: 20 años, 1 mes
Puntos: 3
deberias hacer dos consultas, una con las distintas fechas y para cada fecha el numero de llamadas:
Código:
select distinct(fecha)
from tabla
por cada valor devuelto por la consulta anterior, deverias lanzar de nuevo la siguiente consulta:
Código:
select
  count(t2.id) as _593,
  count(t3.id) as _592,
  count(t1.id) as _591
from tabla t
left join tabla t1
  on t1.id = t.id
  and t1.numero like "593%"
left join tabla t2
  on t2.id = t.id
  and t2.numero like "592%"
left join tabla t3
  on t3.id = t.id
  and t3.numero like "591%"
where fecha = :param:
algo asi. no se si habra alguna forma mas sencilla de hacerlo.
__________________
Si ocurre algo importante, estamos afuera fumándonos unos cigarritos.
  #3 (permalink)  
Antiguo 30/11/2006, 03:08
 
Fecha de Ingreso: octubre-2006
Mensajes: 30
Antigüedad: 17 años, 6 meses
Puntos: 0
Haber, si lo que quieres es contar cuantos mensajes hay por fecha y número en una sola consulta:

TRANSFORM Count([id_mensaje])
SELECT [fecha], Count([id_mensaje]) AS [Total de id_mensaje]
FROM TablaXX
GROUP BY [fecha]
PIVOT [numero];

fecha Total de id_mensaje 593xx1 593xx2 593xx3 593xx4
12/12/2006
13/12/2006
15/12/2006

Yo cuento el id pero puedes optar por cualquier otro campo. La primera columna te muestra el total por día.

Espero que te sirva.

Un saludo,
  #4 (permalink)  
Antiguo 01/12/2006, 11:24
Avatar de Gabo77  
Fecha de Ingreso: noviembre-2006
Mensajes: 381
Antigüedad: 17 años, 4 meses
Puntos: 6
Creo que lo que quieres es una consulta doblemente agrupada, prueba esto
Código:
SELECT
        FECHA, NUMERO, COUNT(1) TOTAL
FROM
        TABLA
GROUP BY
        FECHA, NUMERO
Esto te dara la relacion de cuantos mensajes por día ha tenido cada numero telefónico en tu base, pero te lo dara en forma de una tabla con una forma diferente, algo como:
Código:
Fecha                Telefono                Total
xx/xx/xxxx           12345678               5
yy/yy/yyyy         12345678                8
yy/yy/yyyy          87654321               10
uu/uu/uuuu          96385274               15
Despues en el programa que estes usando para desplegar esta info deberas ordenarla para darle la salida que deseas

Saludos!

Última edición por Gabo77; 01/12/2006 a las 11:25 Razón: Salio sin Espaciosss!
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 15:25.