Visualizzazione dei risultati da 1 a 4 su 4

Discussione: Confronto Date Mysql

  1. #1

    Confronto Date Mysql

    Ciao a tutti, mi trovo a dover confrontare due date in una query, in pratica ho una tabella con due campi: "Matricola" e "Data" entrambi chiave, quello che voglio è che mi visualizzi, per ogni matricola, la data più recente (per esempio posso avere la tabella popolata così: Matricola : 1 | Data : 01/08/2014 ; Matricola : 1 | Data : 02/08/2014. in questo caso dovrebbe restituirmi 02/08/2014).

    Prima di tutto mi ricavo la data maggiore per quella determinata matricola così:
    codice:
    "SELECT max(Data) FROM `visite` where Matricola = $matricola"
    Poi dovrei utilizzare la seguente query per selezionare la data, ma non mi restituisce niente neppure provando con valori esempio direttamente su php myadmin!
    codice:
    SELECT * FROM `visite` WHERE  Matricola = $matricola AND Data = $data_maggiore

    Potete aiutarmi?
    Grazie!!

  2. #2
    Come non detto, ho risolto!Le date nel formato aaaa-mm-gg vengono interpretate come un espressione aritmetica, per fare il controllo è necessario usare le funzioni specifiche di mysql per estrarre anno, mese, e giorno.La mia query quindi è corretta con le seguenti modifiche:

    codice:
    SELECT * FROM `visite` WHERE Matricola = $matricola and year(Data) = year('$data_maggiore') and month(Data) = month('$data_maggiore') and day(Data) = day('$data_maggiore')
    Ciao a tutti!!

  3. #3
    mi sembra una complicazione inutile.

    Premesso che la data deve essere memorizzata nel formato ansi yyyy-mm-dd in un campo DATE, per trovare la data maggiore di un record conoscendo il valore del campo "Matricola" potresti fare:

    select * from visite
    where Matricola = '$matricola'
    order by data desc
    limit 1

    nel caso la data fosse in un campo varchar potresti uasere la conversione in formato ansi con str_to_date()
    http://dev.mysql.com/doc/refman/5.1/...on_str-to-date

    Il silenzio è spesso la cosa migliore. Pensa ... è gratis.

  4. #4
    In effetti non ci avevo pensato!!
    Grazie!

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.