Home Page
Articoli
Tips & Tricks
News
Forum
Archivio Forum
Blogs
Sondaggi
Rss
Video
Utenti
Chi Siamo
Contattaci
Username:
Password:
Login
Registrati ora!
Recupera Password
Home Page
Stanze Forum
SQL Server 2000/2005/2008, Express, Access, MySQL, Oracle
Query Count Distinct in Access
martedì 17 febbraio 2015 - 14.20
Elenco Threads
Stanze Forum
Aggiungi ai Preferiti
Cerca nel forum
Elenco Tags
Access (.mdb)
86Marco
Profilo
| Expert
889
messaggi | Data Invio:
mar 17 feb 2015 - 14:20
Buonasera ragazzi,
ho un piccolo db in access e mi ritrovo a dover creare una query un po' complessa e non riesco a venirne a capo.
Ho una tabella di questo tipo:
username | DataDiAccesso |
username1 | 10/02/2015 |
username1 | 10/02/2015 |
username2 | 12/02/2015 |
username3 | 12/02/2015 |
username1 | 12/02/2015 |
username3 | 12/02/2015 |
Vorrei farmi restituire da una query un risultato raggruppato per giorno, che mi restituisca il conteggio degli accessi distinti per username. Quindi,sostanzialmente, contarmi quanti username hanno effettuato l'accesso all'applicazione.
DataDiAccesso | Conteggio
10/02/2015 | 1
12/02/2015 | 3
DOvrei fare una select raggruppata per datadiaccess ma ho problemi con la distinct sull'username.
Sapete aiutarmi?
GRazie
sboss83
Profilo
| Newbie
39
messaggi | Data Invio:
mar 17 feb 2015 - 14:36
Ciao Marco.
Scusa se rispobdo di fretta, ma hai provato a usare òa clausula GROUP BY ?
https://msdn.microsoft.com/it-it/library/ms177673.aspx
Fammi sapere!
Ciao
Stefano
86Marco
Profilo
| Expert
889
messaggi | Data Invio:
mar 17 feb 2015 - 14:49
Ciao Stefano,
si certo utilizzo la clausola Group by.
forse sono stato poco felice nell'esposizione:
Ho questa tabella:
381x255
31Kb
Faccio una semplicissima query di selezione utilizzando il Group By:
SELECT Accessi.DataAccesso, Count(Accessi.Username) AS ConteggioDiUsername
FROM Accessi
GROUP BY Accessi.DataAccesso;
ricevendo:
380x142
19Kb
Tuttavia, non è quello che voglio ricevere. Ovviamente.
Perché io vorrei che gli username identici vengano conteggiati una sola volta. Nello specifico il giorno 01/01/2015 io ho si 4 accessi, ma in realtà gli username ad essere entrati sono solo 2 (username1 ed username2). E così via...
Dovrei fare un distinct sull'username ma ho problemi con il costruire lo statement sql corretto.
Spero di essere stato più chiaro :).
Grazie
sboss83
Profilo
| Newbie
39
messaggi | Data Invio:
mar 17 feb 2015 - 15:12
Prova così :
SELECT Accessi.DataAccesso, Count(DISTINCT Accessi.Username) AS ConteggioDiUsername
FROM Accessi
GROUP BY Accessi.DataAccesso;
Ciao
Stefano
86Marco
Profilo
| Expert
889
messaggi | Data Invio:
mar 17 feb 2015 - 15:18
Ciao Stefano.
grazie intanto nuovamente per la risposta.
Il DBMS in questione è Ms Access ed il COUNT DISTINCT non è supportato.
Lavorando con SQL Server, il problema non si sarebbe posto poiché la tua select è sintatticamente corretta. Il mio problema è proprio su Access che, ripeto, non ha la compatibilità con COUNT DISTINCT.
:(
sboss83
Profilo
| Newbie
39
messaggi | Data Invio:
mar 17 feb 2015 - 15:28
Chiedo scusa, ma non avevo capito.
dimmi se così funziona :
SELECT tab.dataaccesso, Count(tab.username)
FROM (select distinct dataaccesso,username from accessi) as tab
Group By tab.dataaccesso;
Ciao !!
Stefano
86Marco
Profilo
| Expert
889
messaggi | Data Invio:
mar 17 feb 2015 - 15:36
Perfetto!
Grazie
Torna su
Stanze Forum
Elenco Threads
Partecipa anche tu! Registrati!
Hai bisogno di aiuto ?
Perchè non ti registri subito?
Dopo esserti registrato potrai chiedere
aiuto sul nostro
Forum
oppure aiutare gli altri
Consulta le
Stanze
disponibili.
Registrati ora !