Visualizzazione dei risultati da 1 a 8 su 8
  1. #1
    Utente di HTML.it L'avatar di ubbicom
    Registrato dal
    Mar 2004
    Messaggi
    1,407

    Interrogazione SQL a fascie orarie

    Ciao a tutti.

    Un consiglio su come organizzare al meglio la seguente questione.

    Una tabella mysql con data/ora inizio, data/ora fine e una colonna "Nomi".

    Devo interrogare questa tabella nelle seguenti fascie orarie ad intervalli di 15 minuti e contare i "Nomi" che ricadono all'interno di ciascuna fascia; se il conteggio supera il 50% di una soglia prestabilita va segnalato un allarme a video. Allo scadere della fascia il contatore va azzerato.

    Fascie orarie: 24/6 - 6/12 - 12/18 - 18/24

    Qualche buona idea?
    Grazie

  2. #2
    1. un corsetto d'italiano non farebbe male fasce, sir!
    2. direi che con una serie di WHERE risolvi tutto
    3. fa' un esempio per il discorso della soglia


  3. #3
    Utente di HTML.it L'avatar di ubbicom
    Registrato dal
    Mar 2004
    Messaggi
    1,407
    Originariamente inviato da optime
    1. un corsetto d'italiano non farebbe male fasce, sir!
    Mi vergogno di me stesso... sorry

    Esempio di soglia:

    Per ogni Nome è prevista una soglia diversa:

    - Viterbo = 6
    - Rieti = 5
    etc

    Se contando i record per Viterbo, sempre all'interno della stessa fascia oraria, il valore è 4 deve partire l'alert.

    Grazie

  4. #4
    Utente di HTML.it L'avatar di ubbicom
    Registrato dal
    Mar 2004
    Messaggi
    1,407
    Questa query sembra funzionare... mi sfugge qualcosa?

    codice:
       strTIME = replace(time(), ".", ":")
       
       SQL = " SELECT * FROM "
       SQL = SQL & " tbl_1 "
       SQL = SQL & " WHERE 1=1 "
       SQL = SQL & " AND "
       SQL = SQL & " DATA_EVENTO = '" & formatGMTDate(DATE(),0,"yyyy-mm-dd") & "' "
       
    if strTIME >= "00:00:00" AND strTIME =< "05:59:59" then   
       SQL = SQL & " AND "
       SQL = SQL & " ORA_EVENTO BETWEEN '00:00:00' AND '05:59:59' "
    end if
    
    if strTIME >= "06:00:00" AND strTIME =< "11:59:59" then   
       SQL = SQL & " AND "
       SQL = SQL & " ORA_EVENTO BETWEEN '06:00:00' AND '11:59:59' "
    end if
    
    if strTIME >= "12:00:00" AND strTIME =< "17:59:59" then   
       SQL = SQL & " AND "
       SQL = SQL & " ORA_EVENTO BETWEEN '12:00:00' AND '17:59:59' "
    end if
    
    if strTIME >= "18:00:00" AND strTIME =< "23:59:59" then   
       SQL = SQL & " AND "
       SQL = SQL & " ORA_EVENTO BETWEEN '18:00:00' AND '23:59:59' "
    end if

  5. #5
    Utente di HTML.it L'avatar di ubbicom
    Registrato dal
    Mar 2004
    Messaggi
    1,407
    Perchè non funziona???

    codice:
    9:55:51
    
    SELECT * FROM tbl_1 WHERE 1=1 AND DATA_EVENTO = '2009-10-14'
    Non dovrebbe eseguire una query sulla fascia oraria:

    codice:
    if strTIME >= "06:00:00" AND strTIME =< "11:59:59" then   
       SQL = SQL & " AND "
       SQL = SQL & " ORA_EVENTO BETWEEN '06:00:00' AND '11:59:59' "
    end if

  6. #6
    se nel campo data c'è anche l'ora, quell'uguaglianza non funziona

  7. #7
    Utente di HTML.it L'avatar di ubbicom
    Registrato dal
    Mar 2004
    Messaggi
    1,407
    Originariamente inviato da optime
    se nel campo data c'è anche l'ora, quell'uguaglianza non funziona
    Ho risolto così...:

    codice:
    strTIME = replace(formatDateTime(time(),vbShortTime), ".", ":")
    ¡ Grazie !

  8. #8

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.