Newsgroup: it.comp.www.asp
Titolo: count problema query sql

Non riesco a fare una sql che mi conti il numero di record univoci di un
campo in un database, come posso fare?.
Ho un database in cui vengano memorizzate le statistiche del mio sito,
in un campo vengano registrati gli IP dei visitatori. Mi trovo cosě ad
avere piů record con lo stesso IP (il visitatore visualizza piů pagine e
ogni volta viene aggiunto un record al database con varie info tra cui
l'ip). Io voglio contare quanti ip differenti ci sono nel database, per
sapere il numero di visitatori univoci.
Credo che la soluzione sia utilizzare una subselect ma ogni tentativo mi
č stato vano, anche con gli alias no riesco.
Grazie, spero che qualcuno mi possa aiutare. Ciao
-- 
----------------------------------------------
MGsnowboard
http://www.mgsnowboard.com
----------------------------------------------

 sapere il numero di visitatori univoci.
Ma questo e' proprio un caso "da manuale" ^____________^
SELECT nomeCampoIp, COUNT(nomeCampoIP) FROM miaTabella GROUP BY nomeCampoIP
ritorna un recordset con 2 colonne, una si chiama nomeCampoIp e l'altra
nomeCampoIp, ed in ogni riga ci sta':
sotto nomeCampoIp il contenuto di quel campo per il record corrente, cioe'
l'indirizzo IP, nell'altra ci sta' la somma delle volte (count) che si
ripete quel valore li'.
Magari posta su it.comp.software.database, che ti sanno aiutare meglio.
Ciao
Nettuno

 ha scritto nel messaggio
news:8j7fus$j6$1...@nslave2.tin.it...


Tieni anche presente che quando un utente si connette attraverso un
provider, l' IP gli viene assegnato dinamicamente.
Quindi non è detto (anche se le probabilità sono direttamente proporzionali
a quanti accessi hai), che lo stesso IP non appartenga a due persone diverse
connesse in momenti diversi attraverso lo stesso ISP.
Potresti risolvere a livello applicativo settando un cookie.

 SELECT count(*) FROM (SELECT ip FROM tabella GROUP BY ip)
Ho provato in Access ma mi dare errore di sintassi nel from, infatti
credo che si obbligatorio mettere il nome di una tabella o alias dopo il
campo form, sbaglio?
Cmq in Access ho risolto contando i numeri di records dal risultato di
una query che mi fa il group by (nella query che conta metto FROM
Query1), il problema e che non so come farlo in ASP
Ho trovato cmq un'altra soluzione e cioè in asp faccio eseguire una
query del tipo SELECT DISTINCT ip FROM tabella, quindi con un ciclo
leggo i dati della risultato dall inizio alla fine della query,
all'interno del ciclo inserisco un contatore (i=i+1) così alla fine del
ciclo ho il n° degli ip univoci e mi basta un <%=i%> per stamparlo a
video.
Ciao Grazie delle risposte.


Cioè Paolo ti mi dici che è possibile che nella stessa giornata a
persone diverse ma con lo stesso provider (ISP) venga assegnato un
numero ip identico e che quindi così facendo io mi perdo qualche persona
nel conteggio globale, è gisuto?
Certo come dici la probabilità che si verifichi questo dipende dagli
accessi del sito, probabilità a mio giudizio molto bassa, cmq volendo
abbassare ulteriormente tale probabilità si potrebbero contare come
diversi gli ip uguali che si sono collegati a distanza di un buon
intervallo di tempo (e allora dovremmo avere che l'ISP oltre ad
assegnare un ip identico a chi si collega al nostro sito lo deve fare
anche in un breve periodo di tempo perchè noi li contiamo come uno)
Cmq la soluzione dei cookie è indubbiamente migliore  ma con i suoi
svantaggi a parer mio ben maggiori di quelli che deriverebbero dal
contare una persona in meno qualche giorno dell'anno.
Ribadisco che cmq dipende dal n° di accessi.
Ciao
