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

Obtener las horas repetidas

Estas en el tema de Obtener las horas repetidas en el foro de Bases de Datos General en Foros del Web. Hola amigos. Tengo un problema con una consulta que no consigo hacer. Os expongo mi problema: En la base de datos tengo las actividades de ...
  #1 (permalink)  
Antiguo 24/09/2007, 02:51
 
Fecha de Ingreso: agosto-2003
Mensajes: 75
Antigüedad: 21 años, 3 meses
Puntos: 0
Obtener las horas repetidas

Hola amigos. Tengo un problema con una consulta que no consigo hacer. Os expongo mi problema:
En la base de datos tengo las actividades de un horario, con su hora de realizacion y su dia, de tal forma que en un mismo dia y a la misma hora pueden haber varias actividades.
Pongamos el caso que el Lunes a las 9 hay 2 actividades, el martes a las 9 hay una, y Miercoles a las 9 hay 3 actividades.
Pues con esos datos yo debo de sacar una columna con 3 filas, ya el maximo de veces que se repite una hora en un dia es 3 (los miercoles)

Estoy programando bajo php.

Alguien puede ayudarme? realmente estoy perdido.

Saludos
  #2 (permalink)  
Antiguo 24/09/2007, 04:19
 
Fecha de Ingreso: febrero-2007
Mensajes: 1.292
Antigüedad: 17 años, 9 meses
Puntos: 13
Re: Obtener las horas repetidas

Buenas, con la funcion de agregación count, la clausula group by y having es facil.

Si pones datos reales y la estructura de la tabla y lo que quieres que te devuelva la consulta te podremos ayudar algo más, aunque es recomendable que primero lo intentes hacer tú.

Un saludo
  #3 (permalink)  
Antiguo 24/09/2007, 04:57
 
Fecha de Ingreso: agosto-2003
Mensajes: 75
Antigüedad: 21 años, 3 meses
Puntos: 0
Re: Obtener las horas repetidas

Esta es la estructura de la tabla horario:
Id_Horario, Dia, Hora, Actividad
Ejemplo de valores:
Id_horario - Dia - Hora - Act
12 1 9:00 3
13 1 9:00 4
14 2 9:00 2
15 3 9:00 3
16 1 10:00 2

Con esos datos me gustaria obtener una tabla asi:

Lunes Martes Miercoles
9:00 Act 3 Act 2 Act 3
9:00 Act 4 -- --
10:00 Act 2 -- --

He intentado sacar primero las diferentes horas con un distinct hora y sobre cada una de esas horas hacer un group by dia.. pero no consigo obtener lo que deseo.
  #4 (permalink)  
Antiguo 24/09/2007, 05:26
 
Fecha de Ingreso: febrero-2007
Mensajes: 1.292
Antigüedad: 17 años, 9 meses
Puntos: 13
Re: Obtener las horas repetidas

si lo que quieres es obtener 'x' veces la columna act en la misma fila, la cosa se complica un poquito.
Que BD utilizas? supongo que será Mysql (de la cual no conozco mucho)
En postgres se puede hacer, por ejemplo, utilizando arrays (desconozco si Mysql tiene arrays).


No obstante,
Lunes Martes Miercoles
9:00 Act 3 Act 2 Act 3
9:00 Act 4 -- --
10:00 Act 2 -- --

Creo que la Act 4 a las 9:00 deberia de salir en la primera fila no???

Bueno, si es postgres te puedo ayudar, si es mysql te puedo orientar, pero te repito que no la he utilizado.

Un saludo
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 23:31.