Visualizzazione risultati 1 fino 6 di 6

Discussione: [SQL]Group BY

  1. #1
    L'avatar di binarysun
    binarysun non è connesso Utente storico
    Data registrazione
    02-07-2004
    Messaggi
    2,017

    Predefinito [SQL]Group BY

    Mi stò incasinando l'esistenza con questa query, pensavo fosse semplice ma c'è un problema che non riesco a risolvere...

    Diciamo che ho una tabella che contiene 3 colonne per semplificare:
    (casa, nome ,età)

    In ogni casa ci possono essere più persone con età diversa, quindi visivamente la tabella sarebbe qualcosa del genere
    ----
    1,marco ,60
    1,sara ,57
    1,elisa ,20

    2,maria ,23
    2,roberto ,22


    Voglio sapere chi è l'abitante più grande di ogni casa e la sua età..

    Io pensavo bastasse un
    SELECT casa,nome,max(età), FROM tabella GROUP BY casa

    La query funziona, mi ridà la massima età di ogni casa, ma il nome della persona è sbagliato!
    Ho provato anche con HAVING età=max(età), ma non funziona perchè il maxetà si deve basare sul gruppo!

    Suggerimenti?
    "L'intelligenza è una pianta che va curata continuamente.
    Dovreste vedere com'è bello, il mio bonsai."
    Rat-man®

    [Gradient Text]
    [Su che server sei?]
    ->flickr

  2. #2
    Guest

    Predefinito

    Prova facendo:

    SELECT casa,nome,max(età) AS m_eta FROM tabella GROUP BY casa ORDER BY m_eta DESC

    così forse ti dovrebbe mettere nei primi posti le persone con età maggiori, se funge puoi mettere un limit per prendere solo quelli che ti interessano (quindi se le case sono 5 sarà LIMIT 5)

    Prova è la prima cosa che mi è venuta in mente senza provare.


    Ciaooooooo!!!!!!

  3. #3
    L'avatar di binarysun
    binarysun non è connesso Utente storico
    Data registrazione
    02-07-2004
    Messaggi
    2,017

    Predefinito

    No, in questo modo mi metterebbe in ordine il risultato e non la "struttura interna" della group by.
    "L'intelligenza è una pianta che va curata continuamente.
    Dovreste vedere com'è bello, il mio bonsai."
    Rat-man®

    [Gradient Text]
    [Su che server sei?]
    ->flickr

  4. #4
    Guest

    Predefinito

    Scusa ma a me funziona!

    La query esatta è:

    SELECT casa, nome, max(eta) FROM tabella GROUP BY casa

    Forse sbagliavi mettendo la virgola dopo l'ultimo argomento del SELECT
    Prova con questa. (io nel db ho messo "eta" e non "età")


    Ciaooooooo!!!!!!!!!!!

  5. #5
    L'avatar di binarysun
    binarysun non è connesso Utente storico
    Data registrazione
    02-07-2004
    Messaggi
    2,017

    Predefinito

    Bo, a me il nome risulta essere quello del più giovane e non del più vecchio...
    HAAAAAAAAA stò impazzendo!
    "L'intelligenza è una pianta che va curata continuamente.
    Dovreste vedere com'è bello, il mio bonsai."
    Rat-man®

    [Gradient Text]
    [Su che server sei?]
    ->flickr

  6. #6
    Guest

    Predefinito

    Hai copiato e incollato la query che ti ho postato?
    Io l'ho copiata direttamente dal phpmyadmin, appena fatta la prova dove il risultato era quello da te richiesto...


    Ciaooooooo!!!!!!!!

Regole di scrittura

  • Non puoi creare nuove discussioni
  • Non puoi rispondere ai messaggi
  • Non puoi inserire allegati.
  • Non puoi modificare i tuoi messaggi
  •