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

Discussione: Select particolare.

  1. #1
    Utente di HTML.it
    Registrato dal
    Mar 2004
    Messaggi
    178

    Select particolare.

    Ho problemi ad imbastire questo select.

    Devo scoprire in che giorno si sono registrati il maggior numeri di utenti nel mio sito.

    Quindi dovrei selezionare tutti i campi di una tabella dove la data di registrazione si ripete maggiornamente rispetto alle altre.. come faccio?

  2. #2
    Utente di HTML.it
    Registrato dal
    Feb 2005
    Messaggi
    267
    select * from utenti

    per ogni record ti segni il numero del giorno in un array,mentre in un secondo array ti registri quante ricorrenze ci sono nel risultato della query stessa.
    però è pesantuccia come elaborazione se la vuoi fare ad ogni visualizzazione,molto meglio che prevedi fin da subito un counter che fa +1 a ogni utente registrato.
    alla fine della giornata conti se num_registrati > num_record e a quel punto ti segni il giorno in cui è stato battuto il record

  3. #3
    Utente di HTML.it
    Registrato dal
    Sep 2006
    Messaggi
    468
    Credo che oltre a come impostare la SELECT sia importante sapere cosa ci vuoi fare di questi dati: cioè è un'operazione che vuoi fare a posteriori oppure deve essere costantemente aggiornata?

    Vuoi poi fare un grafico (tipo istogramma) sui risultati ottenuti?

    Le variabili sono il singolo giorno oppure a scaglioni (tipo di una settimana)?

    E' una cosa che serve solo a te o la devono visualizzare anche gli utenti?

    Credo che queste informazioni siano interessanti per chiunque voglia darti un suggerimento in più perché potrebbe anche cambiare il modo di impostare la SELECT.

    Leggo adesso una risposta che infatti è stata la prima cosa a venirmi in mente: un seconda tabella che abbia come chiave i giorni e un solo campo che indichi la frequenza...però tutto dipende se il dato serve giusto a te per stabilire una sorta di "record" oppure se invece magari preferisci raggruppare i dati a fasce...

  4. #4
    Utente di HTML.it
    Registrato dal
    Mar 2004
    Messaggi
    178
    In realtà mi serve per le statistiche del sito e mi occorre visualizzare semplicemente il dato con una dicitura simile a: Record utenti registrati in una giornata: X in data Y.
    Effettivamente però sarebbe troppo pensate per essere eseguita ad ogni visualizzazione..
    Dite sia il caso di fare un contatore?

  5. #5
    Utente di HTML.it L'avatar di nicola75ss
    Registrato dal
    Nov 2004
    Messaggi
    12,923

    Re: Select particolare.

    Originariamente inviato da Chierico80
    Ho problemi ad imbastire questo select.

    Devo scoprire in che giorno si sono registrati il maggior numeri di utenti nel mio sito.

    Quindi dovrei selezionare tutti i campi di una tabella dove la data di registrazione si ripete maggiornamente rispetto alle altre.. come faccio?
    codice:
    select data,count(data) as registrazioni
    from tabella
    group by data
    order by registrazioni desc
    limit 1

  6. #6
    utilizzi un campo date?

    puoi fare una cosa simile

    SELECT COUNT(*) AS conta, data FROM utenti GROUP BY data ORDER BY conta DESC LIMIT 1
    www.gext.it

  7. #7
    ops doppia risposta esatta
    www.gext.it

  8. #8
    Utente di HTML.it
    Registrato dal
    Mar 2004
    Messaggi
    178
    codice:
    $sql = "SELECT user_regdate,count(user_regdate) as registrazioni 
    			    FROM " . $_CONFIG['users_table'] . "
    			    GROUP by user_regdate
    			    ORDER by registrazioni DESC
    			    LIMIT 1 ";
    			    $result=mysql_query($sql);
    				while ($row = mysql_fetch_array($result)) 
                    echo "$row[registrazioni]";
    Mi stampa a video 1..

  9. #9
    Utente di HTML.it L'avatar di nicola75ss
    Registrato dal
    Nov 2004
    Messaggi
    12,923
    Ma il campo è di tipo date o datetime?

  10. #10
    Utente di HTML.it
    Registrato dal
    Mar 2004
    Messaggi
    178
    Int, ci memorizzo il timestamp in questo formato: 1165705200


    EDIT: AHHHH non esistono campi uguali, ci sono anche i minuti e i secondi...
    Mi serve fare degli intervalli e la situazione si complica mi sa

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 © 2024 vBulletin Solutions, Inc. All rights reserved.