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

    Mysql, Come posso selezionare un utente con data più recente?

    Come da titolo....
    ho una tabella così composta...

    codice:
                    ID  BADGE    NOME      AZ        DATA
      	   	47  	69  	Scordo  	3  	2008-05-14
    	 	48 	78 	Rea    	4 	2008-05-28
    	 	49 	100 	Alessia 	1 	2008-07-07
    	 	50 	73 	Mirko  	1 	2008-09-02
    	 	51 	39 	Scordo 	3 	2000-01-01
    ho pensato alla query seguente...

    Codice PHP:
    $query "SELECT badge,nome,MAX(data) FROM badge GROUP BY nome ORDER BY nome;"
    Ma non funziona...ad esempio...prendendo come riferimento il nome "Scordo" il risultato che mi da è questo...

    codice:
    39 :: Scordo :: 2008-05-14
    In pratica la data me la prende giusta (2008-05-14), ma il badge mi prende il 39....
    Sembrerebbe che prenda l'ultimo ID trovato...e gli associa la data più recente....

    Come faccio a creare una query giusta che come risultato mi dia

    codice:
    69 :: Scordo :: 2008-05-14
    Qualcuno sa risolvere il mistero?

  2. #2
    fai:

    Codice PHP:
    $query "SELECT badge,nome,data FROM badge ORDER BY data DESC LIMIT 1;"
    Così ottieni solo il primo utente della lista ordinata per date dalla più alta, ovvero la più recente, alla più bassa, ovvero la più vecchia

  3. #3
    Originariamente inviato da artorius
    fai:

    Codice PHP:
    $query "SELECT badge,nome,data FROM badge ORDER BY data DESC LIMIT 1;"
    Così ottieni solo il primo utente della lista ordinata per date dalla più alta, ovvero la più recente, alla più bassa, ovvero la più vecchia
    Sì ma questo nn è il mio caso...ho necessità di selezionarli tutti e poi ragrupparli per nome, e deve prendere però solo il nome che ha la data più recente col proprio codice di badge!!!

  4. #4
    Facendo diverse prove ho trovato questa soluzione...e sembra funzionare, magari potrebbe interessare a qualcuno....

    Codice PHP:
    $query "SELECT * FROM (SELECT *,MAX(data) as maxdata FROM badge GROUP BY id ORDER BY nome) as tb1 WHERE data = maxdata GROUP BY nome;"

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