Foros del Web

Foros del Web (http://www.forosdelweb.com/)
-   Mysql (http://www.forosdelweb.com/f86/)
-   -   Ayuda con una consulta (http://www.forosdelweb.com/f86/ayuda-con-consulta-445808/)

seyacat 24/11/2006 08:24

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.

haron 26/11/2006 13:22

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.

vnam04 30/11/2006 03:08

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,

Gabo77 01/12/2006 11:24

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!


La zona horaria es GMT -6. Ahora son las 21:35.

Desarrollado por vBulletin® Versión 3.8.7
Derechos de Autor ©2000 - 2026, Jelsoft Enterprises Ltd.