Visualizzazione dei risultati da 1 a 8 su 8

Discussione: Somma query

  1. #1

    Somma query

    Salve a tutti. Ho necessità di sommare due colonne di più tuple.
    Il database (mysql) ha una tabella così composta:

    punteggio_utente (int: id_utente, int: punteggio1, int: punteggio2, varchar: gioco)

    punteggio 1 e punteggio 2 per motivi che non vi sto a spiegare devono essere per forza differenti.

    Ad un certo punto mi serve però sommarli e ordinare il totale.

    Se io faccio

    SELECT DISTINCT id_utente, (

    SELECT count( DISTINCT punteggio1 )
    FROM punteggio_utente
    WHERE
    ...
    )

    Allora mi somma perfettamente il punteggio
    Se invece faccio:

    SELECT DISTINCT id_utente, (

    SELECT count( DISTINCT punteggio1 )
    FROM punteggio_utente
    WHERE
    ...
    )
    UNION SELECT count( DISTINCT punteggio2 )
    FROM punteggio_utente
    WHERE
    ...

    Mi da un errore. Penso che il problema è l'unione tra due numeri.
    Però se faccio:

    SELECT DISTINCT id_utente,count (

    SELECT ( DISTINCT punteggio1 )
    FROM punteggio_utente
    WHERE
    ...
    )
    UNION SELECT ( DISTINCT punteggio2 )
    FROM punteggio_utente
    WHERE
    ...


    Come faccio a farla bene?

  2. #2
    mi spieghi perché fai la count()? il punteggio non è un numero? mi viene più naturale pensare a una SUM() o a una AVG()...

  3. #3
    Originariamente inviato da optime
    mi spieghi perché fai la count()? il punteggio non è un numero? mi viene più naturale pensare a una SUM() o a una AVG()...
    Si scusa ho sbagliato. Per quella cosa andava bene il sum. Per un'altra simile ho fatto il count (per contare le vittorie degli utenti sfidati e che hanno sfidato). Però in entrambe le occasioni non riesco a farlo! Non so come sommare tutto! Volendo potevo farlo da php però io alla fine della query facevo order by punteggiototale desc

  4. #4
    non ti basta fare

    SELECT id_utente, SUM(punteggio1), SUM(punteggio2) FROM punteggio_utente GROUP BY id_utente

    ???

  5. #5
    Originariamente inviato da optime
    non ti basta fare

    SELECT id_utente, SUM(punteggio1), SUM(punteggio2) FROM punteggio_utente GROUP BY id_utente

    ???
    In questo caso non ordina per punteggio totale ma per id utente

  6. #6

  7. #7
    Originariamente inviato da optime
    e tu ordinala
    In che senso? non ti capisco

  8. #8
    ... ORDER BY quello che ti pare

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.