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

    [sql] gestire ranges di date

    Mi potete dare una mano a creare questa query sql?

    table utenti (*id,page,ip,user_agent,referer,date)


    # ultime 100 visite in ordine dalla più recente
    select * from utenti order by date desc limit 0,100

    # visite totali
    select count(*) as visite from utenti

    # visite di questo mese
    select count(*) as visite from utenti where date = ?

    # visite mese precedente
    select count(*) as visite from utenti where date = ?

    # visite di questa settimana
    select count(*) as visite from utenti where date = ?

    # visite della settimana precedente
    select count(*) as visite from utenti where date = ?

    # visite di oggi
    select count(*) as visite from utenti where date = ?

    # visite di ieri
    select count(*) as visite from utenti where date = ?

    o forse dovrei modificare proprio la tabella?

    grazie

  2. #2
    Utente di HTML.it L'avatar di M4rko
    Registrato dal
    Dec 2000
    Messaggi
    619
    Qui dovresti trovare tutto quello che ti serve:
    http://dev.mysql.com/doc/mysql/en/da...functions.html

    Tutti hanno bisogno di credere in qualcosa.
    Io credo che mi farò un'altra birra.


  3. #3
    quindi se ho capito potrei fare:

    oggi:

    select count(*) as visite from utenti where date = ( CURDATE() )

    ieri:

    select count(*) as visite from utenti where date = ( CURDATE() - INTERVAL 1 DAY )

    scorsa settimana?

    select count(*) as visite from utenti where date = ( CURDATE() - INTERVAL 1 WEEK )

    scorso mese ?

    select count(*) as visite from utenti where date = ( CURDATE() - INTERVAL 1 MONTH )

    e il mese corrente ed la settimana corrente??

  4. #4
    questa riga non va:

    codice:
    SELECT count(*) as visite FROM `visite` WHERE DATE = MONTH( CURDATE() - INTERVAL 1 MONTH )

  5. #5
    WHERE MONTH(DATE) = MONTH( CURDATE() - INTERVAL 1 MONTH )


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

  6. #6
    ma devo anche specificare l'anno?

  7. #7
    [supersaibal]Originariamente inviato da Claudio Vituzzi
    ma devo anche specificare l'anno? [/supersaibal]
    se ti serve anno/mese dovrai abbinare anno e mese nella ricerca...

    codice:
    WHERE MONTH(DATE) = MONTH( CURDATE() - INTERVAL 1 MONTH )
    AND YEAR(DATE) = YEAR(CURDATE())

    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.