Visualizzazione dei risultati da 1 a 6 su 6
  1. #1
    Utente di HTML.it L'avatar di Atrus
    Registrato dal
    May 2003
    Messaggi
    211

    Query che conta i record con gli stessi dati

    Ciao ragazzi, ho un piccolo problema.
    Ho un sito con delle schede tecniche.
    Quando un utente visualizza una scheda tecnica, uno script in php salva, in un DB mysql dentro la tabella STATISTICHE, queste informazioni:

    ID_SCHEDA: id della scheda visitata;
    DATA: data in cui avviene la visita.

    Ora vorrei sapere, per esempio, quante visite la scheda X ha fatto il giorno y.

    So che si può fare tutto in una query, ma non ci riesco. Avete suggerimenti?

    Ora ricordo perchè ho visitato questi mondi...
    Quanto tempo ho atteso...
    Ricordo chi sono io e chi sono i miei nemici.

  2. #2

    Re: Query che conta i record con gli stessi dati

    codice:
    SELECT id_scheda, data, COUNT(id_scheda) AS numero_visite 
    FROM statistiche
    GROUP BY data
    ORDER BY data DESC, numero_visite DESC
    Talvolta anche una persona apparentemente inutile si rivela un abile samurai dalla forza di mille uomini, dimostrando di poter rinunciare alla vita e che il suo cuore si è completamente identificato con quello del suo padrone

  3. #3
    ti serve un COUNT(*) ed un where data = curdate().

    importante sarebbe conoscere il formato della data,, da questo formato dipende la funzione da utilizzare...

    es. per una data in formato DATE yyyy-mm-dd
    codice:
    SELECT COUNT(*) AS tot
    FROM TABELLA
    WHERE id_scheda = '$id_scheda'
    AND data = CURDATE();

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

  4. #4
    [supersaibal]Originariamente inviato da piero.mac
    ti serve un COUNT(*) ed un where data = curdate().

    importante sarebbe conoscere il formato della data,, da questo formato dipende la funzione da utilizzare...

    es. per una data in formato DATE yyyy-mm-dd
    codice:
    SELECT COUNT(*) AS tot
    FROM TABELLA
    WHERE id_scheda = '$id_scheda'
    AND data = CURDATE();
    [/supersaibal]
    beh c'hai ragione pure te
    con la mia prende tutti i dati raggruppati per data, non avevo letto della condizione


    Talvolta anche una persona apparentemente inutile si rivela un abile samurai dalla forza di mille uomini, dimostrando di poter rinunciare alla vita e che il suo cuore si è completamente identificato con quello del suo padrone

  5. #5
    Utente di HTML.it L'avatar di Atrus
    Registrato dal
    May 2003
    Messaggi
    211
    Grazie, era quello che cercavo.
    E se la data volessi impostarla io?
    Per esempio...tutte le visite ricevute dalla scheda X il 2005-05-12?

    grandi...queste cose nei libri non ci sono
    Ora ricordo perchè ho visitato questi mondi...
    Quanto tempo ho atteso...
    Ricordo chi sono io e chi sono i miei nemici.

  6. #6
    metti la data in modo esplicito tramite una variabile....

    codice:
    $data = '2005-05-12';
    
    SELECT COUNT(*) AS tot
    FROM TABELLA
    WHERE id_scheda = '$id_scheda'
    AND data = '$data'
    devi usare il formato DATE perche' NON ha ore, min e secondi che dovrebbero essere valutati. Nel caso di timestamp unix o DATETIME si dovra' usare: data BETWEEN dataora inizio AND dataora fine controllo


    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.