Visualizzazione dei risultati da 1 a 4 su 4
  1. #1

    Uso funzione AVG combinata con DISTINCT

    Ciao, sono alle basi di SQL e sto facendo un esercizio che ha una tabella studenti (ho inserito solo 2 record per fare capire)

    Matricola NomeS CorsoLaurea AnnoN
    001 Rossi 301 1991
    002 Verdi 306 1986

    e una tabella corsidilaurea

    CorsoLaurea TipoLaurea Facolta

    303 L Scienze Politiche
    304 Q Architettura

    L'output deve essere ad es°:

    tipolaurea Etamedia
    L 24.500
    Q 22.780

    La query che ho scritto è la seguente ma non mi restituisce l'output desiderato.
    Dove sbaglio ?

    SELECT distinct(tipolaurea),AVG(YEAR(NOW())-studenti.annon) as Etamedia
    FROM corsidilaurea JOIN studenti ON studenti.corsolaurea=corsidilaurea.corsolaurea
    WHERE studenti.corsolaurea IS NOT NULL

  2. #2
    ho aggiunto una piccola modifica alla tua query....

    provala e dimmi se funziona

    SELECT corsidilaurea.tipolaurea,AVG(YEAR(NOW())-studenti.annon) as Etamedia
    FROM corsidilaurea JOIN studenti ON studenti.corsolaurea=corsidilaurea.corsolaurea
    GROUP BY(corsidilaurea.tipolaurea)
    Non si può risolvere un problema usando lo stesso modo di pensare che ha creato quel problema.
    Albert Einstein

    Siate Affamati, siate Folli, siate Onesti e siate Generosi

  3. #3
    Si, con GROUP BY ora è ok. Avevo proprio omesso quel parametro

    Grazie !

  4. #4
    Originariamente inviato da freddie1978
    Si, con GROUP BY ora è ok. Avevo proprio omesso quel parametro

    Grazie !
    Non si può risolvere un problema usando lo stesso modo di pensare che ha creato quel problema.
    Albert Einstein

    Siate Affamati, siate Folli, siate Onesti e siate Generosi

Permessi di invio

  • Non puoi inserire discussioni
  • Non puoi inserire repliche
  • Non puoi inserire allegati
  • Non puoi modificare i tuoi messaggi
  •  
Powered by vBulletin® Version 4.2.1
Copyright © 2026 vBulletin Solutions, Inc. All rights reserved.