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

    [SQLITE] Una query che mi ritorni...

    Ciao,
    premetto che di sqlite sono un po' nubbio.
    Conosco solo le query base ma questa che mi serve non mi riesce molto.

    Il problema è:
    Ho un database con tanti messaggi di tanti utenti.
    Ogni messaggio tiene salvato anche il timestamp di quando l'utente ha scritto quel messaggio.
    Io con una ho più query devo individuare:
    1) se qualche utente ha scritto messaggi più vicini di 60 secondi l'uno dall'altro
    2) Se un utente ha scritto più di 200 messaggi al giorno
    3) se ha scritto più di 500messaggi in una settimana.

    Poi deciderò in base ha quanti ne ha scritto di più la pena da subire, se cancellare tutti i suoi messaggi o solo quelli in eccesso.
    Possibile o troppo complesso?
    grazie in anticipo.

  2. #2

  3. #3

    Re: [SQLITE] Una query che mi ritorni...

    Originariamente inviato da LordSaga640
    Ciao,
    premetto che di sqlite sono un po' nubbio.
    Conosco solo le query base ma questa che mi serve non mi riesce molto.

    Il problema è:
    Ho un database con tanti messaggi di tanti utenti.
    Ogni messaggio tiene salvato anche il timestamp di quando l'utente ha scritto quel messaggio.
    Io con una ho più query devo individuare:
    1) se qualche utente ha scritto messaggi più vicini di 60 secondi l'uno dall'altro
    2) Se un utente ha scritto più di 200 messaggi al giorno
    3) se ha scritto più di 500messaggi in una settimana.

    Poi deciderò in base ha quanti ne ha scritto di più la pena da subire, se cancellare tutti i suoi messaggi o solo quelli in eccesso.
    Possibile o troppo complesso?
    grazie in anticipo.
    un semplicissimo select con un count e where che conta le 24 ore ...

    [CODE]
    $day_start = mktime(0,0,0,date('m'),date('d'),date('y'));
    $day_end = mktime(23,59,59,date('m'),date('d'),date('y'));
    $query = sqlite_query("SELECT id_user, COUNT(*) FROM messages WHERE message_timestamp => {$day_start} AND message_timestamp <= {$day_end} GROUP BY id_user");
    [CODE]

    la query in realtà va per mysql...ma se sqlite supporta il group by (e credo di si) con una singola query ti estrai tutti i messaggi postati dagli utenti in una singola giornata
    ovviamente risistema i campi
    id_user è l'id dell'utente che ha postato il messaggio
    mentre
    message_timestamp è la data in formato UNIX TIMESTAMP del messaggio

    non l'ho provata xo dovrebbe funziare

    sciauz

  4. #4
    Grazie mille

    Sono ancora una schiappa con i database.

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.