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

como contar el numero de registros mensual a una base de datos + php?

Estas en el tema de como contar el numero de registros mensual a una base de datos + php? en el foro de Mysql en Foros del Web. Hola tengo la siguiente pregunta, y necesito ayuda a la vez tengo en una base de datos una tabla en la cual registro fechas y ...
  #1 (permalink)  
Antiguo 08/01/2008, 13:54
Avatar de liliancita  
Fecha de Ingreso: diciembre-2007
Mensajes: 189
Antigüedad: 16 años, 4 meses
Puntos: 0
como contar el numero de registros mensual a una base de datos + php?

Hola

tengo la siguiente pregunta, y necesito ayuda a la vez

tengo en una base de datos una tabla en la cual registro fechas
y deseo mostrar en una vista en php la cantidad de datos por mes,


y ni diea ya como hacerlo


alguna idea sugerencia
porfavor
  #2 (permalink)  
Antiguo 08/01/2008, 13:57
 
Fecha de Ingreso: noviembre-2002
Mensajes: 1.341
Antigüedad: 21 años, 5 meses
Puntos: 17
Re: como contar el numero de registros mensual a una base de datos + php?

¿Cómo es la estructura de las tablas que te interesan?
  #3 (permalink)  
Antiguo 08/01/2008, 14:06
Avatar de liliancita  
Fecha de Ingreso: diciembre-2007
Mensajes: 189
Antigüedad: 16 años, 4 meses
Puntos: 0
Re: como contar el numero de registros mensual a una base de datos + php?

hola

la estructura de la tabla registrar es la siguiente

CREATE TABLE `registrar` (
`idRegistrar` int(11) NOT NULL auto_increment,
`idHito` int(11) NOT NULL,
`codigo` varchar(5) NOT NULL,
`Fecha` date NOT NULL,
`comentario` varchar(100) NOT NULL,
PRIMARY KEY (`idProgramar`),
KEY `Programar_FKIndex1` (`idHito`)
)


saludos
  #4 (permalink)  
Antiguo 08/01/2008, 14:09
 
Fecha de Ingreso: noviembre-2002
Mensajes: 1.341
Antigüedad: 21 años, 5 meses
Puntos: 17
Re: como contar el numero de registros mensual a una base de datos + php?

¿Y quiere sacar todos los registros de esa tabla que estén dentro de un mes especifico?

Si es eso, tienes el campo como "date", no he trabajado mucho con él, pero es de suponer que existen funciones propias de MySQL para ello, Mira el manual a ver qué dice al respecto.
  #5 (permalink)  
Antiguo 08/01/2008, 14:35
Avatar de liliancita  
Fecha de Ingreso: diciembre-2007
Mensajes: 189
Antigüedad: 16 años, 4 meses
Puntos: 0
Re: como contar el numero de registros mensual a una base de datos + php?

mira tengo esa consulta que me devuelve el mes

SELECT COUNT( extract(
MONTH FROM fecha ) AS MES)
FROM registrar_
ORDER BY fecha



la consulta e scomo peudo trabajar con ese valor

en el SELECT COUNT (*) FROM registrar WHERE (... aqui deberia ir la condicion del mes)
  #6 (permalink)  
Antiguo 08/01/2008, 14:53
 
Fecha de Ingreso: noviembre-2002
Mensajes: 1.341
Antigüedad: 21 años, 5 meses
Puntos: 17
Re: como contar el numero de registros mensual a una base de datos + php?

Ya sé más o menos lo que quieres hacer, pero no te puedo ayudar mucho, tengo algo oxidado el SQL, lo siento.

A ver si hay alguien que te puede echar un cable.
  #7 (permalink)  
Antiguo 08/01/2008, 16:01
Avatar de GatorV
$this->role('moderador');
 
Fecha de Ingreso: mayo-2006
Ubicación: /home/ams/
Mensajes: 38.567
Antigüedad: 18 años
Puntos: 2135
Re: como contar el numero de registros mensual a una base de datos + php?

Tema trasladado a MySQL.

Por favor publica en los foros correctos.
  #8 (permalink)  
Antiguo 08/01/2008, 18:11
Avatar de pragone  
Fecha de Ingreso: diciembre-2007
Ubicación: Madrid
Mensajes: 223
Antigüedad: 16 años, 4 meses
Puntos: 2
Re: como contar el numero de registros mensual a una base de datos + php?

SELECT COUNT(*) FROM registrar_ WHERE MONTH(fecha)=XX;
Te recomendaría que además incluyas el año... o de lo contrario te traería, por ejemplo, el Enero de todos los años.
Otra forma es (por ejemplo para este mes de enero):
SELECT COUNT(*) FROM registrar_ WHERE fecha>='2008-01-01' AND fecha<'2008-02-01';

Saludos,
  #9 (permalink)  
Antiguo 09/01/2008, 05:37
Avatar de liliancita  
Fecha de Ingreso: diciembre-2007
Mensajes: 189
Antigüedad: 16 años, 4 meses
Puntos: 0
Re: como contar el numero de registros mensual a una base de datos + php?

hola

graxxx la ultima consulta me sirve :)

saludos
  #10 (permalink)  
Antiguo 09/01/2008, 07:08
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, 5 meses
Puntos: 2658
Re: como contar el numero de registros mensual a una base de datos + php?

Usar >= o <= induce a MySQL a una consulta que no puede optimizar. Si quieres acotar la búsqueda es mejor el =:
Cita:
SELECT COUNT(*) FROM registrar_ WHERE MONTH(fecha)=XX AND YEAR(FECHA)=XX2;
  #11 (permalink)  
Antiguo 09/01/2008, 15:22
Avatar de pragone  
Fecha de Ingreso: diciembre-2007
Ubicación: Madrid
Mensajes: 223
Antigüedad: 16 años, 4 meses
Puntos: 2
Re: como contar el numero de registros mensual a una base de datos + php?

Perdona, gnzsoloyo, pero eso no es correcto.

El uso de un operador OR sí tiene ese efecto, pero el uso de <= o >= no tiene que ver. Fíjate... un ejemplo:
create table pruebaindice (valor int not null, nombre varchar(50) not null, key idx_valor(valor));

la llenas con cuanta data quieras:
insert into pruebaindice (valor,nombre) select round(rand()*100), concat("nombre", round(rand()*100));
o luego de que ya tienes algunos datos haces este otro para llenarlo más rápido:
insert into pruebaindice (valor,nombre) select round(rand()*100), concat("nombre", round(rand()*100)) from pruebaindice;

En fin... lo llené con
Código HTML:
mysql> select count(*) from pruebaindice;
+----------+
| count(*) |
+----------+
|    31744 |
+----------+
y mira:

Código HTML:
mysql> explain select * from pruebaindice where valor>=20 and valor<40;
+----+-------------+--------------+-------+---------------+-----------+---------+------+------+-------------+
| id | select_type | table        | type  | possible_keys | key       | key_len | ref  | rows | Extra       |
+----+-------------+--------------+-------+---------------+-----------+---------+------+------+-------------+
|  1 | SIMPLE      | pruebaindice | range | idx_valor     | idx_valor | 4       | NULL | 5353 | Using where |
+----+-------------+--------------+-------+---------------+-----------+---------+------+------+-------------+
1 row in set (0.00 sec)
Como puedes ver, MySQL sí ha utilizado un índice para la ejecución del query.
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 08:18.