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

    [mysql] Confronto ultimo e penultimo record inserito

    Ciao a tutti
    Io ho una tabella qualsiasi, composta diciamo da campi del tipo ID, nome, cognome, indirizzo ecc ecc

    Avrei bisogno di prendere gli ultimi 2 record inseriti e confrontare un campo (per esempio cognome) per vedere se sono uguali o no.

    Cosa mi consigliate di fare?
    Grazie miell

  2. #2
    codice:
    select if(cognome = 'Ciccio', 1, 0) as presente
    from tabella
    order by id desc
    limit 2
    poi controlli se nel campo presente c'e' 1 oppure 0. 1 esiste - 0 non esiste.

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

  3. #3
    mmm...forse non ho capito o ho capito a metà...
    perchè io non conosco la costante 'Ciccio'. Potrebbe essere qualsiasi cosa... :master:

  4. #4
    Originariamente inviato da Febbraio
    mmm...forse non ho capito o ho capito a metà...
    perchè io non conosco la costante 'Ciccio'. Potrebbe essere qualsiasi cosa... :master:
    se e' tra apici non e' una costante ma una stringa. E nel caso sarebbe il cognome. Poteva essere 'Pippo' o 'Pallino'....

    Se cognome = 'tuo_cognome' scrivi 1 altrimenti scrivi 0

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

  5. #5
    Chiedo scusa per la svista terminologica.
    IN ogni caso, tuo_cognome è in realtà il campo cognome del recordset precedente all'ultimo.

  6. #6
    Originariamente inviato da Febbraio
    Chiedo scusa per la svista terminologica.
    IN ogni caso, tuo_cognome è in realtà il campo cognome del recordset precedente all'ultimo.
    Se quello che vuoi fare e' controllare che non esista gia' il nominativo allora e' meglio che fai un select count() invece di controllare il penultimo/ultimo inserito oppure setti il campo con un indice UNIQUE che ti impedisca di duplicare il valore.

    select count(*) as tot from tabella
    where cognome = 'Pippo'

    se il risultato e' 0 puoi continuare l'inserimento altrimenti dai il messaggio di dato gia' esistente.

    Ma di cognomi uguali ne puoi trovare a iosa....

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

  7. #7
    E...infatti ho scelto l'esempio sbagliato pensando di essere semplicemente più chiara.
    Il confronto sarebbe tra i campi che contengono l'ora (es Hour(nome_campo) ), perchè deve far partire un controllo sul db stesso OGNI ORA, ovvero ad ogni cambio d'ora..
    Per questo mi serve un confronto tra ultimo e penultimo

  8. #8
    Originariamente inviato da Febbraio
    E...infatti ho scelto l'esempio sbagliato pensando di essere semplicemente più chiara.
    Il confronto sarebbe tra i campi che contengono l'ora (es Hour(nome_campo) ), perchè deve far partire un controllo sul db stesso OGNI ORA, ovvero ad ogni cambio d'ora..
    Per questo mi serve un confronto tra ultimo e penultimo
    in questo caso devi schedulare un evento. Mi pare che con la prossima versione di mysql si potranno schedulare eventi direttamente con il server mysql.

    Nel frattempo usa lo scheduler del tuo sistema operativo.

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

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.