Visualizzazione dei risultati da 1 a 6 su 6
  1. #1

    Estrarre 3 righe per ogni utente

    Buongiorno,
    ho una tabella MySQL contenente i seguenti dati:

    |utente|punteggio|

    gli utenti sono molti e possono avere diversi punteggi e quindi la tabella potrebbe contenere i seguenti dati:

    utente1|5|
    utente1|12|
    utente1|48|
    utente1|79|
    utente2|12|
    utente2|15|
    utente2|14|
    utente2|19|
    utente2|78|
    utente2|59|
    utente2|63|
    utente2|79|
    utente2|52|
    utente2|82|

    la mia esigenza è quella di estrarre per ogni utente i primi 3 punteggi più alti attraverso una query adatta...
    Qualcuno sa darmi qualche suggerimento su come implementare tale query?
    Grazie mille!

  2. #2

  3. #3
    Innanzitutto grazie per il suggerimento...
    Purtroppo però non sono riuscito a capirci molto... :-(
    Mi daresti una mano ad adattare la tua query alla mia tabella. Io ci ho provato ma non ne vengo a capo...
    Queste sono le mie colonne:

    nominativo| numero|punteggio|data|

    In teoria dovrebbe diventare così la query che mi hai segnalato:
    codice:
    SELECT *
    FROM (
    
    SELECT * , @num := if( @nominativo = nominativo, @num +1, 1 ) AS riga_numero
    FROM punteggi
    ORDER BY nominativo ASC , punteggio DESC
    ) AS tab
    WHERE riga_numero <=3
    ma a me non funziona...
    Dove sbaglio?
    Grazie mille di nuovo per l'aiuto e per la pazienza!

  4. #4
    Utente di HTML.it L'avatar di nicola75ss
    Registrato dal
    Nov 2004
    Messaggi
    12,922
    Per iniziare manca la dichiarazione delle due variabili a monte.

  5. #5
    Nonostante abbia aggiunto anche la dichiarazione delle variabili come da te suggerito non funziona ancora

    codice:
    set @nominativo := 0, @num := 1;
    SELECT *
    FROM (
    
    SELECT * , @num := if( @nominativo = nominativo, @num +1, 1 ) AS riga_numero
    FROM punteggi
    ORDER BY nominativo ASC , punteggio DESC
    ) AS tab
    WHERE riga_numero <=3
    Dove sbaglio????
    Esiste un metodo alternativo più "potabile" di questo? Ti giuro che non riesco a capire questa query! :-(
    Mi sai aiutare?

  6. #6
    Nessuno può darmi un'ulteriore manina??? Vi prego!

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.