két COUNT értéke összeszorzódik
sziasztok!
van egy banner-em. erről 2 statisztikát vezetek. egyik, h hányszor jelent meg a másik, h hányszor kattintottak rá.
a banner_id egyenlőre 1 mindenhol, mert még csak 1 van "beüzemelve"
banner_impress tábla:
id, banner_id, timestamp
banner_click tábla:
id, banner_id, timestamp
olyan lekérdezést szeretnék, ami napok szerint csoportosítva kiadja a megjelenés és a kattintások számát
tehát a végeredményben ez szerepel:
banner_id COUNT(impress) COUNT(click) Dátum
így próbáltam:viszont így a COUNT(impress) oszlopoban a két COUNT szorzata jelenik meg ha a COUNT(click) nem nulla, egyébként meg a valós érték
a COUNT(click)-ben meg ugyanaz mint a másik COUNT-ban vagy 0.
itt láttam ehhez hasonló problémát de nem sikerült a sajátommal boldogulni:
http://weblabor.hu/forumok/temak/100873
szval ezt az összeszorzást hogy lehetne kiküszöbölni?
előre is köszönöm!
■ van egy banner-em. erről 2 statisztikát vezetek. egyik, h hányszor jelent meg a másik, h hányszor kattintottak rá.
a banner_id egyenlőre 1 mindenhol, mert még csak 1 van "beüzemelve"
banner_impress tábla:
id, banner_id, timestamp
banner_click tábla:
id, banner_id, timestamp
olyan lekérdezést szeretnék, ami napok szerint csoportosítva kiadja a megjelenés és a kattintások számát
tehát a végeredményben ez szerepel:
banner_id COUNT(impress) COUNT(click) Dátum
így próbáltam:
SELECT COUNT(i.banner_id) as count_i,
COUNT(c.banner_id) as count_c,
FROM_UNIXTIME(i.timestamp) as datum
FROM banner_impress i
LEFT JOIN banner_click c
ON DAYOFMONTH(FROM_UNIXTIME(i.timestamp))=DAYOFMONTH(FROM_UNIXTIME(c.timestamp))
GROUP BY DAYOFYEAR(FROM_UNIXTIME(i.timestamp));
a COUNT(click)-ben meg ugyanaz mint a másik COUNT-ban vagy 0.
itt láttam ehhez hasonló problémát de nem sikerült a sajátommal boldogulni:
http://weblabor.hu/forumok/temak/100873
szval ezt az összeszorzást hogy lehetne kiküszöbölni?
előre is köszönöm!
Ilyesmi?
ez sajnos nem jó, még nagyobb
ez a SUM(c.banner_id IS NOT NULL ) összeadja a banner_id értékeit, gondolom.
de ez a szummázás csak addig lehet jó, amíg a banner_id 1, viszont később lesz máshol másfajta banner, aminek nem 1 lesz az id-ja
Nem jól gondolod
Próbáld meg a két lekérdezésed külön-külön kiadni, és megnézni, hogy ott milyen értékeket ad, hogy ellenőrízd a számítás helyességét.
először is bocs, tényleg nem
viszont kipróbáltam:
317 | 2009-03-26 13:41:02
506 | 2009-03-27 00:01:48
289 | 2009-03-28 00:04:14
3 | 2009-03-27 14:53:00
2 | 2009-03-28 20:01:56
az általad írt verziót lefuttatva:
count_i count_c dátum
7291 | 7291 | 2009-03-26 13:41:02
11638 | 11638 | 2009-03-27 00:01:48
6647 | 6647 | 2009-03-28 00:04:14
az én első verzióm a COUNT-al:
count_i count_c dátum
317 | 0 | 2009-03-26 13:41:02
1518 | 1518 | 2009-03-27 00:01:48
578 | 578 | 2009-03-28 00:04:14
szval az én verziómban látszik, h összeszorzódnak a count oszlopok
az általad írt verzióban viszont nem látom, h hogy jöttek ki a számok
mindenesetre próbálkozok tovább
ránézésre jó :)
union