Visualizzazione dei risultati da 1 a 7 su 7
  1. #1
    Utente di HTML.it
    Registrato dal
    Nov 2000
    residenza
    Roma
    Messaggi
    58

    [SQL] Posizione in classifica

    Salve a tutti,
    ho una semplice tabella dove memorizzo tutti punteggi del mio gioco con i seguenti campi

    **Id - UserId - Punti**

    La domanda è, come faccio a sapere la posizione in classifica di uno specifico utente? Ho l'id dello user.
    Esempio

    **Id - UserId - Punti**

    1 - AAAA - 150

    2 - BBBB - 110

    3 - BBBB - 120

    4 - CCCC - 102

    5 - AAAA - 130

    In questo specifico caso,l'utente con id user = CCCC è terzo in classifica perché ha il terzo risultato più alto. Il mio problema più grande è che la query non deve considerare tutti i record con user id duplicato .

    Ringrazio in anticipo chi mi può dare una mano

  2. #2
    Utente di HTML.it
    Registrato dal
    Apr 2014
    residenza
    Genova, presenza costante a Milano
    Messaggi
    100
    SELECT COUNT(DISTINCT *) FROM tabella WHERE Punti < (SELECT Punti FROM tabella WHERE UserId = 'CCCC')

    Non l'ho provata.

  3. #3
    Utente di HTML.it
    Registrato dal
    Nov 2000
    residenza
    Roma
    Messaggi
    58
    Quote Originariamente inviata da razzoli Visualizza il messaggio
    SELECT COUNT(DISTINCT *) FROM tabella WHERE Punti < (SELECT Punti FROM tabella WHERE UserId = 'CCCC')

    Non l'ho provata.

    Ciao Grazie per la risposta ma mi restituisce un errore

    #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 '*) FROM tabella WHERE Punti < (SELECT Punti FROM tabella WHERE UserId= 'CCCC')
    ' at line 1

  4. #4
    Utente di HTML.it
    Registrato dal
    Apr 2014
    residenza
    Genova, presenza costante a Milano
    Messaggi
    100
    COUNT(DISTINCT Punti)

  5. #5
    Utente di HTML.it
    Registrato dal
    Nov 2000
    residenza
    Roma
    Messaggi
    58
    Quote Originariamente inviata da razzoli Visualizza il messaggio
    COUNT(DISTINCT Punti)

    Ora non da piu errore ma mi restituisce 0...

  6. #6
    Utente di HTML.it
    Registrato dal
    Apr 2014
    residenza
    Genova, presenza costante a Milano
    Messaggi
    100
    Ma, adesso che ti ho dato l'idea di base, non puoi sistemarla da solo?

    Esegui prima la query tra parentesi e vedi se è giusta.

  7. #7
    SELECT UserId, MAX(Punti) as massimo
    FROM TABELLA
    GROUP BY UserId
    ORDER BY massimo
    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

Tag per questa discussione

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.