Newsgroup: it.comp.software.database
Titolo: Chissà se sapete dirmi sta query Access. :)

Ciao ragazzi!
Sto sviluppando un motore di statistiche su DB Access e sono davvero
in difficoltà con un problema!
In breve, c'è una tabella che conteggia gli accessi alle pagine, con
questa struttura (ho elimintato i campi inutili alla mia richiesta x
semplicità):
Table:	logfile
Fields: 	visitDate (Data in formato lungo dd/mm/yyyy hh:mm:ss)
	visitAddress (stringa con l'IP dell'host)
Vorrei ottenere una tabella di tre campi:
DATA		Data (formato corto, solo dd/mm/yyyy)
CLICKS	Numero di visite in una determinata data
VISITORS	Numero di unique visitors
Ora, se voglio solo il numero di click per giorno, ho risolto con:
SELECT FORMAT(visitDate,'Short Date') as data, 
	   COUNT(visitAddress) as clicks
	  FROM logfile 
	 GROUP BY FORMAT(visitDate,'Short Date')
Il problema è: è possibile costruire una query (con o senza
subqueries) per conteggiare i "visitors"? (Il criterio sarebbe vedere
quanti IP _diversi_ ci sono per ogni determinato giorno).
O altrimenti che altra soluzione posso adottare, che coinvolga il solo
SQL?

 quanti IP _diversi_ ci sono per ogni determinato giorno).
Prova con:
SELECT VisitDate, COUNT(*) AS Visite
FROM
(
   SELECT DISTINCT VisitDate, VisitAddress
   FROM logfile
) AS SubT
GROUP BY VisitDate
Ora non ho MS-Access installato, e quindi non so se sia ammessa 
l'istruzione COUNT(DISTINCT...), altrimenti potresti anche provare con:
SELECT VisitDate, COUNT(DISTINCT VisitAddress) AS Visite
FROM logfile
GROUP BY VisitDate
-- 
Quando noi ignoranti eravamo di piů, tutto era piů bello (A. Celentano).
  ___   _   ___ _  _______   _______ ___
|   \ /_\ | _ \ |/ / _ ) \ / /_   _| __|
| |) / _ \|   / ' <| _ \\ V /  | | | _|
|___/_/ \_\_|_\_|\_\___/ |_|   |_| |___|

GROUP BY VisitDate
Ciao e grazie dell'aiuto... purtroppo la cosa non sembra funzionare.
Premetto che sono un grande principiante in sql, ma non è strano un
costrutto tipo FROM (...) AS?
In ogni caso credo di essermi spiegato male io...
Vorrei una query che mi estrapoli _contemporaneamente_ i tre valori.
Ad esempio, se LOGFILE è:
visitDate	visitAddress
1/1/2000	0.0.0.0
1/1/2000	0.0.0.0
1/1/2000	0.0.0.1
1/1/2000	0.0.0.2
2/1/2000	0.0.0.3
2/1/2000	0.0.0.4
3/1/2000	0.0.0.3
3/1/2000	0.0.0.3
3/1/2000	0.0.0.3
3/1/2000	0.0.0.3
Dovrei ottenere:
DATA		CLICKS	UNIQUE VISITORS
1/1/2000	4		3
2/1/2000	2		2
3/1/2000	4		1

 costrutto tipo FROM (...) AS?
No
Ciao
    Domenico



Devi fare delle statistiche d'accesso ad un server web?
Se si perchè non utilizzi un prodotto apposito?
 

Se si perchè non utilizzi un prodotto apposito?
Perchè è un'occasione ghiottissima per approfondire ASP, SQL e anche i
meccanismi di statistica in se.
E poi, se il prodotto dovesse diventare valido, questo potrebbe aprire
molti vantaggi.

andare su access.
Intanto grazie a te e Darkbyte per l'aiuto.
.. purtroppo Access non lo supporta. Ho provato tantissime soluzioni,
nidificazioni (anche cercando sulla rete dei workaround), ma non so
davvero dove sbattere la testa...

 
Prova con
Query1:
SELECT DISTINCTROW FORMAT(visitDate,'Short Date') as data, visitAddress 
   FROM LOGFILE;
Query2:
SELECT data, Count(visitAddress) AS cnt_uniqueip FROM Query1;
Martino.

 molti vantaggi.
Auguri.
http://awstats.sourceforge.net/

 >andare su access.
Il secondo campo č inutile.
Senza perderti nell'istruzione, utilizza l'ambiente visuale di Access e dopo
aver inserito i campi Visitaddress e visitdate premi raggruppa e come
criterio di raggruppamento cin di visitaddress ci metti conteggio
Poi dai una sbirciata alla stringa SQL
MAssimiliano

 ha scritto nel messaggio
news:Ukx9d.93388$35.43...@news4.tin.it...

O tutto in un passaggio
SELECT distinctrow format(data; "gg/mm/aa", Count(visitAddress) AS
cnt_uniqueip  FROM LogFile;
Ciao
MAssimiliano