Autor Zpráva
pcmanik
Profil
Zdravím,

mam tabuľku log, kde si ukladám pri každom prihlásení údaje, s touto štruktúrou:
`id_uzivatela` SMALLINT NOT NULL ,
`cas` DATETIME NOT NULL ,
`ip` INT( 50 ) UNSIGNED NOT NULL ,
`prehliadac` VARCHAR( 100 ) NOT NULL


Avšak teraz neviem zostrojiť sql dotaz, ktorý vyberie všetky id_uzivatela, ktoré majú tu istú ip adresu a prehliadač.
Skúšal som už niečo, ale to vyberie len jedného užívateľa.

SELECT id_uzivatela, ip, prehliadac, count(*) pocet FROM log GROUP BY id_uzivatela, ip, prehliadac HAVING pocet > 1


Ako mám teda urobiť ten sql dotaz prosím?
Kajman_
Profil *
select l.* from log l
join (select ip, prehliadac from log group by ip, prehliadac having count(distinct id_uzivatela)>1) t
on l.ip=t.ip and l.prehliadac=t.prehliadac
pcmanik
Profil
Dakujem za snahu, ale tvoj dotaz nefunguje.

Tabulku som naplnil udajmi.




ale vysledok po hore-uvedenem dotaze je takyto:


Keeehi
Profil
pcmanik:
Ale funguje, první 4 záznamy mají společnou ip a prohlížeč a 5 a 6 záznam má společnou ip a prohlížeč. Přesně podle zadání. Co se ti na tom vlastně nelíbí?
pcmanik
Profil
Mimochodom všetkých 6 záznamov má rovnakú ip.

Pozri sa, predstavoval som si to tak, že keď sa pozriež na prvy obr., tak všetky výsledky majú rovnakú ip. A teda vo výslednej sade by bolo len id_uzivatela + ip, pri ktorých sa jedna ip adresa prihlasy na viac uctov, vysledok by teda bol id_uzivatela 1, 13, 14 + ip 1504546663.

Jednoducho mi ide o to nájsť užívatela, ktorý sa prihlasuje na viac účtov. Ten prehliadač by tam vlastne ani nemusel byť .
Kajman_
Profil *
tak možná hledáte něco na způsob

select group_concat(distinct id_uzivatela) idecka, ip, prehliadac from log group by ip, prehliadac having count(distinct id_uzivatela)>1
pcmanik
Profil
Ďakujem, zajtra to vyskusam, teraz sa uz nedostanem na pc.
pcmanik
Profil
Ďakujem, funguje to presne podľa mojich predstáv :)
Toto téma je uzamčeno. Odpověď nelze zaslat.

0