Pagina 1 di 2 1 2 ultimoultimo
Visualizzazione dei risultati da 1 a 10 su 11

Discussione: [Query MySQL]

  1. #1

    [Query MySQL]

    Salve, premetto che non conosco l'sql, ma ho urgentissimo bisogno di questa query.

    SELECT `archivio`.`date`, `archivio`.`prodotto` FROM `archivio`

    "date" è impostato come "timestamp", come posso visualizzare solo i prodotti che sono stati inseriti da più di un'ora?
    esempio: ora e data corrente > 1 ora rispetto a quella di "date"

    Spero qualcuno riesca a darmi una mano... in ogni caso, grazie comunque.
    *The Flanger*

  2. #2
    SELECT date, prodotto
    FROM archivio
    WHERE date < NOW() - INTERVAL 1 HOUR

    tradotto in italiano....

    DOVE il campo "date" e' minore dell'attuale momento meno l'intervallo di un'ora.


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

  3. #3
    Utente di HTML.it L'avatar di KLINKO
    Registrato dal
    Sep 2002
    Messaggi
    285
    il tipo DATE definito nel SQL standart rappresenta le date come sequenza di tre valori ordinatamente all' anno mese e giorno. alcuni database includono nella sequenza dei valori anche l'indicazione di ora minuti e secondi.
    le costanti di tipo DATE sono espresse:

    DATE'AAA-MM-GG'
    la specifica CURRENT_DATE senza parametri restituisce la data corrente.

  4. #4
    Grazie mille ragazzi!! Grazie davvero!

    A presto!
    *The Flanger*

  5. #5
    ehm, altro piccolo problema... volevo sapere se era possibile fare un controllo dei risultati, mi spiego meglio... eseguendo questa query, se non ottengo dei risultati, riprovare con un intervallo più basso...

    Esempio:
    codice:
    if(!$result){
      $interval = "30 MINUTE";
      //ecc.
    }
    ovviamente sempre in sql.
    codice:
    SELECT date, prodotto FROM archivio WHERE date < NOW() - INTERVAL 1 HOUR
    *The Flanger*

  6. #6
    Originariamente inviato da The Flanger
    ehm, altro piccolo problema... volevo sapere se era possibile fare un controllo dei risultati, mi spiego meglio... eseguendo questa query, se non ottengo dei risultati, riprovare con un intervallo più basso...

    Esempio:
    codice:
    if(!$result){
      $interval = "30 MINUTE";
      //ecc.
    }
    ovviamente sempre in sql.
    codice:
    SELECT date, prodotto FROM archivio WHERE date < NOW() - INTERVAL 1 HOUR
    puoi controllare il numero di righe estratte:
    dopo la query SELECT
    $num= mysql_num_rows();
    if($num == 0) { rifai la query }

    SELECT date, prodotto FROM archivio
    WHERE date between NOW() AND NOW() - INTERVAL 1 HOUR

    cosi' vedi le date dell'ultima ora escludendo le altre gia' controllate prima.

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

  7. #7
    Innanzitutto, ti ringrazio...
    il fatto è che non posso usare php o un altro linguaggio... volevo sapere se era possibile fare tutto in sql.
    *The Flanger*

  8. #8
    Originariamente inviato da The Flanger
    Innanzitutto, ti ringrazio...
    il fatto è che non posso usare php o un altro linguaggio... volevo sapere se era possibile fare tutto in sql.
    La query che ti ho messo non e' php.

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

  9. #9
    si scusami, ma intendevo il controllo del risultato...
    codice:
    $num= mysql_num_rows(); 
    if($num == 0) { rifai la query }
    *The Flanger*

  10. #10
    Originariamente inviato da The Flanger
    si scusami, ma intendevo il controllo del risultato...
    codice:
    $num= mysql_num_rows(); 
    if($num == 0) { rifai la query }
    Se il controllo non lo fai con uno script dovrai usare la vista oppure qualcos'altro che non so. Oppure non capisco la domanda.

    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.