Visualizzazione dei risultati da 1 a 8 su 8
  1. #1
    Utente bannato
    Registrato dal
    Nov 2004
    Messaggi
    241

    [SQL] raggruppare e contare

    ho una tabella di questo tipo che contiene l'elenco dei click alle pagine del sito:
    - ID_tabella
    - IP
    - Session_ID
    - Browser
    dove ip è l'ip del client, session_id l'id di sessione generato dal server e browser è il browser dell'utente rilevato

    vorrei realizzare un report che indichi quante volte ogni browser viene utilizzatto tenendo conto che un utente durante lo stesso accesso genera diversi record distinguibili per il fatto che hanno lo stesso ip e session_id

    finora ho provato ad usare group by e having, ma ho ottenuto soltanto risultati falsati


    mi potete dare una mano?

  2. #2
    Utente bannato
    Registrato dal
    Nov 2004
    Messaggi
    241
    dovrei raggruppare i record prima in base a ip e sessione per separare gli accessi, ed a questo punto raggrupparli in base al browser...
    ma come?

  3. #3
    Utente bannato
    Registrato dal
    Nov 2004
    Messaggi
    241
    nessuno può aiutarmi per questa query?

  4. #4
    Utente di HTML.it L'avatar di diegoctn
    Registrato dal
    May 2001
    Messaggi
    2,118
    Perchè :

    Select * from tabella group by ID_Tabella, Ip, Session_ID, Browser

    da risultati falsati?

  5. #5
    Utente di HTML.it
    Registrato dal
    May 2003
    Messaggi
    591
    Con un unica query non mi sembra possibile ma se usi una virtual table se hai mysql puoi creare la virtual con i dati del primo raggruppamento e poi contarli con una group by sulla virtual,
    altrimenti fai la prima group by e poi ordinato per browser leggi e conti.

  6. #6
    Utente bannato
    Registrato dal
    Nov 2004
    Messaggi
    241
    avevo pensato anche io di usare questa query, ma non mi raggruppa bene i browser...

    es:
    codice:
    1)	MSIE 6.0	72
    2)	Mozilla / Firefox 1.0.2	45
    3)	Mozilla / Firefox 0.9.2	44
    4)	Mozilla / Firefox 1.0.2	25
    5)	Mozilla / Firefox 1.0	21
    6)	Mozilla / Firefox 1.0	21
    7)	Mozilla / Firefox 1.0.2	20
    8)	Mozilla / Firefox 1.0.2	18
    9)	Mozilla / Firefox 1.0.2	16
    10)	Mozilla / Firefox 1.0	13
    11)	Mozilla / Firefox 1.0.2	12
    12)	MSIE 6.0	11
    mi da un risultato di questo tipo ma mooooolto più lungo...
    io non ci capisco

  7. #7
    Utente bannato
    Registrato dal
    Nov 2004
    Messaggi
    241
    virtual table?

  8. #8
    Utente di HTML.it
    Registrato dal
    May 2003
    Messaggi
    591
    virtual table o temp table o temporary table a seconda del db.

    comunque se hai mysql

    1)CREATE TEMPORARY TABLE tmp
    SELECT distinct field1_index, field2_index FROM test_table WHERE field1_index = '1' group by field1_index, field2_index ;

    2)SELECT count(*),field1_index from tmp group by field1_index;

    poi quando chiudi la conn tmp sparisce.

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.