• Bannato User Attivo

    [AIUTO] - errore nel mysql

    Ho una tabella composta da id, votante, utente_votato, voto.

    Vorre elencare gli utenti con la media voti + alta, a condizione che questi abbiamo + di 10 voti ricevuti...

    ho pensato a questa query:

    select count(voto) as numero_voti, utente_votato, votante, avg(voto) as media_voti from membri_votazione where numero_voti > '10' group by utente_votato order by a desc, media_voti desc limit 10

    ma il mysql mi da questo errore:

    #1054 - Unknown column 'numero_voti' in 'where clause'

    è vero che non esite la colonna, ma io l'ho dichiarata - penso - quando creo la query, giusto?

    come si può risolvere la questione? :arrabbiato:


  • Bannato User Attivo

    nessuna idea?


  • Moderatore

    Prova così:

    select numero_voti, utente_votato, votante, avg(voto) as media_voti from membri_votazione where (SELECT count(voto) as numero_voti FROM membri_votazione WHERE numero_voti > '10') group by utente_votato order by a desc, media_voti desc limit 10;

    O cmq con qualche modifica di questa. Insomma secondo me devi fare due select. Una che ti trovi tutti gli utenti con più di 10 voti e un'altra per selezionare tutti i dati degli utenti restituiti dalla prima select. Ma potrei anche essermi sbagliato. Il fatto di non avere il database davanti agli occhi ed essere un pò rinco***nito oggi potrebbe influenzare la mia risposta...


  • Bannato User Attivo

    beh ho risolto il problema sostituendo la parte col where con:

    having numero_voti > 10