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 2005
    Messaggi
    116

    Trovare la data più recente

    Salve a tutti,
    avrei un problemino su come recuperare la data più recente all'interno di una tabella.
    La data , all'interno di questa tabella, è definita da questi tre campi:

    - giorno
    - mese
    - anno


    ora come posso tramite query, selezionare il record con la data più recente?

    se utilizzo la funzione MAX nel SELCT non mi restituisce il valore voluto.

    Qualche suggerimento?

  2. #2
    Hai provato utilizzando CONCAT() e CAST() oltre a MAX()?

  3. #3
    Utente di HTML.it
    Registrato dal
    Oct 2005
    Messaggi
    116
    Ho provato a fare questo

    SELECT *
    FROM nome_tabella

    HAVING MAX(CONCAT(data_reg_aa,data_reg_mm,data_reg_gg))

  4. #4
    Utente di HTML.it L'avatar di nicola75ss
    Registrato dal
    Nov 2004
    Messaggi
    12,922
    codice:
    select *,concat_ws('-',anno,lpad(mese,2,'0'),lpad(giorno,2,'0')) as miadata
    from tabella
    order by miadata desc limit 1

  5. #5
    Utente di HTML.it
    Registrato dal
    Oct 2005
    Messaggi
    116
    Ho provato anche questa e credo che forse sia la più plausibile :

    SELECT MAX(CONCAT(data_reg_aa,data_reg_mm,data_reg_gg))
    FROM nome_tabella


    può essere?

  6. #6
    Utente di HTML.it
    Registrato dal
    Oct 2005
    Messaggi
    116
    @nicola75ss

    utilizzando la tua query e sostituendo opportunamente i campi con quelli della mia tabella non mi restituisce alcun risultato (tramite Mysql Query Browser)

  7. #7
    Utente di HTML.it L'avatar di nicola75ss
    Registrato dal
    Nov 2004
    Messaggi
    12,922
    In che formato sono i campi, interi, varchar?
    L'anno è a due o a quattro cifre, le cifre inferiori a 10 sono riportate con o senza lo 0 davanti?

  8. #8
    Utente di HTML.it
    Registrato dal
    Oct 2005
    Messaggi
    116
    Allora
    l'anno viene definito come un numero a 4 cifre di tipo double
    sia il mese che il giorno un numero a 2 cifre di tipo double senza lo 0

  9. #9
    Utente di HTML.it L'avatar di nicola75ss
    Registrato dal
    Nov 2004
    Messaggi
    12,922
    Ma la query adattata ai tuoi campi ti restituisce qualche errore oppure semplicemente nessun record?

    Prova ad eseguirla senza la clausola limit e dimmi cosa ottieni.

  10. #10
    Utente di HTML.it
    Registrato dal
    Oct 2005
    Messaggi
    116
    Ammetto che non ho mai utilizzato la funzione lpad,
    ti riporto l'intera query modificata per il mio scopo

    select *,concat_ws('-',mmr_data_reg_aa,lpad(mmr_data_reg_mm,2,'0'),lpad (mmr_data_reg_gg,2,'0')) as miadata
    from mmr_sync
    order by miadata desc

    Cmq eliminando il limit la query va in esecuzione e poi si auto abortisce.

    Strano

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.