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
Aiutino su una select
lunedì 12 maggio 2008 - 08.36
Elenco Threads
Stanze Forum
Aggiungi ai Preferiti
Cerca nel forum
pino8314
Profilo
| Newbie
29
messaggi | Data Invio:
lun 12 mag 2008 - 08:36
ciao a tutti,
ho un problema nel realizzare una select in mysql,
ho questo db che contiene dei dati relativi al traffico generato da dei ip, ordinati per subnet, per un lasso di tempo
tabella composta da
in_byte
out_byte
ip
id_rete
mac
data
qui sotto riporto degli esempi di dati per farvi capire ciò che voglio ottenere
107, 0, 83929280, 43200, '00:30:6e:c3:45:62', '2007-10-26 16:38:45'
304, 0, 83929280, 43200, '00:30:6e:c3:45:62', '2007-10-26 16:39:07'
608, 0, 83929280, 43200, '00:30:6e:c3:45:62', '2007-10-26 16:44:19'
298, 0, 83929280, 43200, '00:30:6e:c3:45:62', '2007-10-26 16:50:37'
298, 0, 83929280, 43200, '00:30:6e:c3:45:62', '2007-10-26 17:01:36'
304, 0, 83929280, 43200, '00:30:6e:c3:45:62', '2007-10-26 18:54:45'
298, 0, 83929280, 43200, '00:30:6e:c3:45:62', '2007-10-26 19:00:37'
596, 0, 83929280, 43200, '00:1c:b0:78:fc:0c', '2007-10-26 19:09:43'
107, 0, 83929280, 43200, '00:30:6e:c3:45:62', '2007-10-29 14:19:08'
912, 0, 83929280, 43200, '00:30:6e:c3:45:62', '2007-10-29 14:24:42'
298, 0, 83929280, 43200, '00:30:6e:c3:45:62', '2007-10-29 14:30:17'
298, 0, 83929280, 43200, '00:30:6e:c3:45:62', '2007-10-29 14:39:35'
63364, 0, 83929280, 43200, '00:1c:b0:78:fc:0c', '2007-10-29 14:39:36'
63364, 0, 83929280, 43200, '00:1c:b0:78:fc:0c', '2007-10-29 14:39:37'
63364, 0, 83929280, 43200, '00:1c:b0:78:fc:0c', '2007-10-29 14:39:38'
107, 0, 83929280, 43200, '00:30:6e:c3:45:62', '2007-11-21 08:14:26'
304, 0, 83929280, 43200, '00:30:6e:c3:45:62', '2007-11-21 08:14:58'
608, 0, 83929280, 43200, '00:30:6e:c3:45:62', '2007-11-21 08:20:01'
298, 0, 83929280, 43200, '00:30:6e:c3:45:62', '2007-11-21 08:25:57'
298, 0, 83929280, 43200, '00:30:6e:c3:45:62', '2007-11-21 08:31:32'
107, 0, 83929280, 43200, '00:30:6e:c3:45:62', '2007-12-11 20:03:27'
608, 0, 83929280, 43200, '00:30:6e:c3:45:62', '2007-12-11 20:07:44'
298, 0, 83929280, 43200, '00:30:6e:c3:45:62', '2007-12-11 20:12:00'
298, 0, 83929280, 43200, '00:30:6e:c3:45:62', '2007-12-11 20:20:34'
304, 0, 83929280, 43200, '00:30:6e:c3:45:62', '2008-01-28 10:03:21'
608, 0, 83929280, 43200, '00:30:6e:c3:45:62', '2008-01-28 10:08:21'
298, 0, 83929280, 43200, '00:30:6e:c3:45:62', '2008-01-28 10:13:21'
298, 0, 83929280, 43200, '00:30:6e:c3:45:62', '2008-01-28 10:23:21'
63364, 0, 83929280, 43200, '00:1c:b0:78:fa:68', '2008-02-05 17:37:28'
come potete vedere dai dati, l'ip 83929280(che naturalmente è in long) è stato associato al mac 00:30:6e:c3:45:62 in data 2007-10-26 16:38:45 aa 2007-10-26 19:00:37... successivamente, in data 2007-10-26 19:09:43, l'ip è passato ad un altro mac 00:1c:b0:78:fc:0c...in data 2007-10-29 14:19:08 è tornato al mac 00:30:6e:c3:45:62...
quello che voglio ottenere, è una select che mi va raggruppando i mac per data di associazione dell'ip, quindi i risultati sopra diventerebbero
107, 0, 83929280, 43200, '00:30:6e:c3:45:62', '2007-10-26 16:38:45'
596, 0, 83929280, 43200, '00:1c:b0:78:fc:0c', '2007-10-26 19:09:43'
107, 0, 83929280, 43200, '00:30:6e:c3:45:62', '2007-10-29 14:19:08'
63364, 0, 83929280, 43200, '00:1c:b0:78:fc:0c', '2007-10-29 14:39:36'
107, 0, 83929280, 43200, '00:30:6e:c3:45:62', '2007-11-21 08:14:26'
63364, 0, 83929280, 43200, '00:1c:b0:78:fa:68', '2008-02-05 17:37:28'
come posso fare con una sola select??
se faccio una select di questo tipo
SELECT in_byte, out_byte, ip, id_rete, mac, data FROM movimenti group by id_rete, ip, mac, data order by data;
mi seleziona tutto raggruppato per data e a me interessa il raggruppamento per mac
e se faccio
SELECT in_byte, out_byte, ip, id_rete, mac, data FROM movimenti group by id_rete, ip, mac order by data;
mi raggruppa i mac ma non mi da le varie associazioni per data, ho una cosa del genere
107, 0, 83929280, 43200, '00:30:6e:c3:45:62', '2007-10-26 16:38:45'
596, 0, 83929280, 43200, '00:1c:b0:78:fc:0c', '2007-10-26 19:09:43'
63364, 0, 83929280, 43200, '00:1c:b0:78:fa:68', '2008-02-05 17:37:28'
speedx
Profilo
| Junior Member
111
messaggi | Data Invio:
lun 12 mag 2008 - 12:58
Quello che puoi ottenere con una query è questo:
107 0 83929280 43200 '00:30:6e:c3:45:62' 2007-10-26
107 0 83929280 43200 '00:30:6e:c3:45:62' 2007-10-29
107 0 83929280 43200 '00:30:6e:c3:45:62' 2007-11-21
107 0 83929280 43200 '00:30:6e:c3:45:62' 2007-12-11
298 0 83929280 43200 '00:30:6e:c3:45:62' 2007-10-26
298 0 83929280 43200 '00:30:6e:c3:45:62' 2007-10-29
298 0 83929280 43200 '00:30:6e:c3:45:62' 2007-11-21
298 0 83929280 43200 '00:30:6e:c3:45:62' 2007-12-11
298 0 83929280 43200 '00:30:6e:c3:45:62' 2008-01-28
304 0 83929280 43200 '00:30:6e:c3:45:62' 2007-10-26
304 0 83929280 43200 '00:30:6e:c3:45:62' 2007-11-21
304 0 83929280 43200 '00:30:6e:c3:45:62' 2008-01-28
596 0 83929280 43200 '00:1c:b0:78:fc:0c' 2007-10-26
608 0 83929280 43200 '00:30:6e:c3:45:62' 2007-10-26
608 0 83929280 43200 '00:30:6e:c3:45:62' 2007-11-21
608 0 83929280 43200 '00:30:6e:c3:45:62' 2007-12-11
608 0 83929280 43200 '00:30:6e:c3:45:62' 2008-01-28
63364 0 83929280 43200 '00:1c:b0:78:fa:68' 2008-02-05
63364 0 83929280 43200 '00:1c:b0:78:fc:0c' 2007-10-29
912 0 83929280 43200 '00:30:6e:c3:45:62' 2007-10-29
select distinct [column 0], [column 1], [column 2], [column 3], a.[column 4], a.[column 5]
from dbo.[2]b
inner join (
select distinct [column 4],substring([column 5],3,10) as [column 5] from dbo.[2]
) a
on a.[column 4] = b.[column 4]
and a.[column 5] = substring(b.[column 5],3,10)
del substring non tenere conto
e le colonne sono numerate
//// Marcello C.
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 !