Pagina 1 di 2 1 2 ultimoultimo
Visualizzazione dei risultati da 1 a 10 su 14
  1. #1
    Utente di HTML.it
    Registrato dal
    Oct 2001
    Messaggi
    99

    [MYSQL] Query che va con access e dovrei portare su mysql

    Ciao a tutti,
    ho una query che funziona su access e che dovrei portare su mysql. La query è questa

    SELECT risultati_125_2006.pilota, SUM(valore) AS Totale
    FROM risultati_125_2006, punteggi
    WHERE punteggi.id=risultati_125_2006.posizione and turno='race'
    GROUP BY risultati_125_2006.pilota
    ORDER BY SUM(valore) DESC;

    e su mysql (da phpmyadmin) mi esce questo errore "1111 - Invalid use of group function"

    La mia versione di mysql è la 4.0.25. Voi sarei grato se poteste darmi una mano.

    Grazie!!

    P.S.
    cercando su google l'errore ho trovato questo, non so se può aiutarvi
    link google

  2. #2
    Prova così altrimenti non so:

    SELECT risultati_125_2006.pilota, SUM(valore) AS Totale
    FROM risultati_125_2006, punteggi
    WHERE punteggi.id=risultati_125_2006.posizione and turno='race'
    GROUP BY(risultati_125_2006.pilota)
    ORDER BY SUM(valore) DESC;
    eCommerceRS.NET - Commerciante, vendi on-line!
    Il mio nick è mircov e non mirco!!!

  3. #3
    Utente di HTML.it
    Registrato dal
    Oct 2001
    Messaggi
    99
    Originariamente inviato da mircov
    Prova così altrimenti non so:

    SELECT risultati_125_2006.pilota, SUM(valore) AS Totale
    FROM risultati_125_2006, punteggi
    WHERE punteggi.id=risultati_125_2006.posizione and turno='race'
    GROUP BY(risultati_125_2006.pilota)
    ORDER BY SUM(valore) DESC;
    da sempre errore "1111 - Invalid use of group function"

  4. #4
    E così?

    SELECT risultati_125_2006.pilota, SUM(valore) AS Totale
    FROM risultati_125_2006, punteggi
    WHERE punteggi.id=risultati_125_2006.posizione and turno='race'
    GROUP BY(Totale)
    ORDER BY SUM(valore) DESC;

    Poi questo valore da dove lo prendi?
    eCommerceRS.NET - Commerciante, vendi on-line!
    Il mio nick è mircov e non mirco!!!

  5. #5
    Utente di HTML.it L'avatar di nicola75ss
    Registrato dal
    Nov 2004
    Messaggi
    12,922
    Scusa,nel link che hai segnalato dice chiaramente di usare having al posto di where. Non puoi usare where quando usi funzioni di aggregazione come sum.

  6. #6
    Utente di HTML.it
    Registrato dal
    Oct 2001
    Messaggi
    99
    Originariamente inviato da mircov
    E così?

    SELECT risultati_125_2006.pilota, SUM(valore) AS Totale
    FROM risultati_125_2006, punteggi
    WHERE punteggi.id=risultati_125_2006.posizione and turno='race'
    GROUP BY(Totale)
    ORDER BY SUM(valore) DESC;

    Poi questo valore da dove lo prendi?
    la query non va neanche così; "valore" lo prendo dalla tabella punteggi che è selezionata sopra...

  7. #7
    Ecco! Io il link non l'avevo letto proprio!
    eCommerceRS.NET - Commerciante, vendi on-line!
    Il mio nick è mircov e non mirco!!!

  8. #8
    Utente di HTML.it
    Registrato dal
    Oct 2001
    Messaggi
    99
    Originariamente inviato da nicola75ss
    Scusa,nel link che hai segnalato dice chiaramente di usare having al posto di where. Non puoi usare where quando usi funzioni di aggregazione come sum.
    Ho provato e l'errore è cambiato, ora da
    "#1064 - You have an error in your SQL syntax. Check the manual that corresponds to your MySQL server version for the right syntax to use near 'GROUP BY ( Totale ) ORDER BY SUM( valore ) DESC LIMIT 0, 30'"

    altre idee?
    :master: :master:

  9. #9
    Utente di HTML.it L'avatar di nicola75ss
    Registrato dal
    Nov 2004
    Messaggi
    12,922
    Usa group by e dopo la clausola having condizione

  10. #10
    Utente di HTML.it
    Registrato dal
    Oct 2001
    Messaggi
    99
    Originariamente inviato da nicola75ss
    Usa group by e dopo la clausola having condizione
    così?

    SELECT risultati_125_2006.pilota, SUM(valore) AS Totale
    FROM risultati_125_2006, punteggi
    GROUP BY risultati_125_2006.pilota
    HAVING punteggi.id=risultati_125_2006.posizione and turno='race'
    ORDER BY SUM(valore) DESC;

    se è così non va.... puoi aiutarmi modificandomi la query?
    quella originale è questa

    SELECT risultati_125_2006.pilota, SUM(valore) AS Totale
    FROM risultati_125_2006, punteggi
    WHERE punteggi.id=risultati_125_2006.posizione and turno='race'
    GROUP BY risultati_125_2006.pilota
    ORDER BY SUM(valore) DESC;

    grazie

    p.s.
    questo link può aiutarci? link 2 google

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 © 2025 vBulletin Solutions, Inc. All rights reserved.