query group by

Ciao ragazzi,

ho questa tabella

prenotazioni_aule

(idprenotazione,

 idaula,

 idinsegnamento,

 giorno_settimana,

 orario_inizio,

 orario_fine)

Questa tabella contiene tutte le prenotazioni dei vari insegnamenti , cioè mi riferisce  ad esempio l'insegnamento "Analisi Matematica" in che giorno della settimana c'è lezione e a che ora.

Attraverso una query che non riesco a realizzare, vorrei sapere quante volte un insegnamento ha fatto una prenotazione, e per ogni prenotazione a che ora si svolge la lezione e a che ora termina. Praticamente vorrei una una view di questo tipo:

n_prenotazioni       IDINSEGNAMENTO            IDAULA         GIORNOSETTIMANA    INIZIO_ORA   FINE_ORA

        2                                 7                                2                           3                        10:00            11:00

        2                                 7                                4                            2                        09:00          12:00         

        1                                 6                                2                            4                         08:00          09:00

in realtà ripetere il campo n_prenotazione è superfluo...cioè mi basterebbe sapere una volta sola quante volte un insegnamento ha effettuato le prenotazioni...però è lo stesso..

Ciao raga  :bye:

inviato 8 anni fa
Toto007
X 0 X

Credo di esserci riuscito...l'output era quello che cercavo

Ecco la query che ho realizzato
$query="SELECT id_insegnamento,giorno_lez_sett, (SELECT count(*) from prenotazioni_aule 
where id_insegnamento=p.id_insegnamento 
group by id_insegnamento) as n_pren from prenotazioni_aule as p 
ORDER by id_insegnamento DESC ";

Se avete qualche ottimizzazione da consigliarmi ditemi pure :)

risposto 8 anni fa
Toto007
X 0 X
Effettua l'accesso o registrati per rispondere a questa domanda