Autor Zpráva
souki
Profil
Mám tabulku pristupy kam ukládám každého návštěvníka, který si přečte článek. Tabulka má sloupce id, ip, clanek.
Potřebuji udělat součet přístupů na jednotlivé články tak, že každá IP se u každého článku započítá jen jednou. Původně jsem chtěl udělat GROUP BY ip, ale tím se započítal přístup jedné ip pouze jednomu článku.
Můžete mě prosím nakopnout správným směrem?
PP
Profil *
Select dáš zoradiť podľa ip.
$pole=array();
while(vies co)
{
if ($last_ip==$result[1])
continue;
$pole['$result[2]]++;
$last_ip=$result[1];
}

Výstup máš pole. Klúč je článok, hodnota počet prístupov.
souki
Profil
Tato možnost je jasná. Šlo mi spíš o to, zda to jde udělat na straně databáze, tzn "hezky"
PP
Profil *
To by ma tiež zaujímalo. Škoda, že si pri zápise do tabulky neoveroval či už je ip zapísaná k článu a vtedy by si spravil len update +
nightfish
Profil
SELECT clanek, count( DISTINCT ip ) FROM pristupy GROUP BY clanek
výsledkem jsou dvojice id článku - počet unikátních ip adres
(mySQL 5.0.27 - jak to funguje na starších verzích nemám ponětí)
souki
Profil
PP
Ověřoval. Ale pak jsem to zrušil. Jde mi spíš o techniku. Kromě IP chci ještě počítat přístupy podle SID a pak neunikátní. Zajímalo by mě ale, jak se taková věc dá v MySQL udělat. Mám tušení, že by to šlo nějak přes vnořené dotazy, ale stále nemůžu přijít na to, jak
souki
Profil
nightfish
Děkuji mnohokrát. Vůbec jsem netušil, že může mít COUNT takovou syntaxi. Funguje to i na MySQL 4.1
nightfish
Profil
souki
já jsem to taky netušil, nicméně vyzkoušel jsem a fungovalo... zamykám
Toto téma je uzamčeno. Odpověď nelze zaslat.