Navigacija
Lista poslednjih: 16, 32, 64, 128 poruka.

Statistika downloada i klikova za fajlove

[es] :: MySQL :: Statistika downloada i klikova za fajlove

Strane: 1 2

[ Pregleda: 4980 | Odgovora: 28 ] > FB > Twit

Postavi temu Odgovori

Autor

Pretraga teme: Traži
Markiranje Štampanje RSS

bogdan.kecman
Bogdan Kecman
"specialist"
Oracle
srbistan

Član broj: 201406
Poruke: 15887
*.com
Via: [es] mailing liste

Sajt: mysql.rs


+2377 Profil

icon Re: Statistika downloada i klikova za fajlove16.05.2014. u 19:47 - pre 120 meseci
stavi LEFT join umesto samo JOIN i dobices i one bez dl-a
obrati samo paznju, za te gde nemas dl za DL's ces dobiti u rezultatu
NULL a ne 0

mozes da promenis upit ovako pa da ishendlas te null-ove:

Code (sql):

SELECT
     t1.FileName,
     t1.CLKs,
     COALESCE(t1.DLs, 0) AS DLs,
     COALESCE(t1.DLs / t1.CLKs, 0) AS Conv,
     COALESCE(t1.FullRevenue / t1.DLs, 0)  AS AverageDLRevenue,
     COALESCE(t1.FullRevenue / t1.CLKs, 0) AS AverageClickRevenue,
     COALESCE(t1.FullRevenue, 0) AS FullRevenue
     
FROM
     (SELECT
          `files`.`filename` AS FileName,
          `files`.`id` AS file_id,
          (SELECT COUNT(*)
          FROM
               `clicks`
          WHERE
               `clicks`.`file_id` = `files`.`id`
               AND `clicks`.`date` BETWEEN '2014-05-10' AND '2014-05-17'
          ) AS CLKs,

          t2.DLs,
          t2.RevnSUM AS FullRevenue

     FROM
               `files`
          LEFT JOIN
               (SELECT `file_id`, COUNT(*) AS DLs, SUM(revenue*percentage/100) AS RevnSUM
               FROM
                    `downloads`
               WHERE
                    `downloads`.`date` BETWEEN '2014-05-10' AND '2014-05-17'
               GROUP BY `file_id`
               ) t2
          ON
               (`t2`.`file_id` = `files`.`id` )
         
     WHERE
          `files`.`user_id` = 106
     ) t1

WHERE
     t1.CLKs > 0
ORDER BY
     CLKs DESC, DLs DESC
 

 
Odgovor na temu

bogdan.kecman
Bogdan Kecman
"specialist"
Oracle
srbistan

Član broj: 201406
Poruke: 15887
*.dynamic.sbb.rs.

Sajt: mysql.rs


+2377 Profil

icon Re: Statistika downloada i klikova za fajlove16.05.2014. u 19:54 - pre 120 meseci
Citat:
danieldulic: Moji upiti su trajali nekoliko sekundi, pošto sam ja tražio prvo da li ima download, pa da li ima klik...


tvoji upiti su izmedju ostalog bili spori zato sto nisi imao indexe gde treba
 
Odgovor na temu

danieldulic
Subotica
CitySu team
Subotica

Član broj: 322224
Poruke: 34
*.dynamic.isp.telekom.rs.

ICQ: 443682699
Sajt: www.citysuteam.rs


Profil

icon Re: Statistika downloada i klikova za fajlove16.05.2014. u 19:54 - pre 120 meseci
Hvala, a za izvestaj prema drzavama kako da formiram upit? Isto sve, samo umesto prema fajlovima mi treba prema drzavama, kako to?

Skroz sam pogubljen, sad tek vidim kako ne znam SQL, a mislio sam da je vrhunac komplikacije SQL-a "INNER JOIN" :D
Daniel Dulic
 
Odgovor na temu

bogdan.kecman
Bogdan Kecman
"specialist"
Oracle
srbistan

Član broj: 201406
Poruke: 15887
*.com
Via: [es] mailing liste

Sajt: mysql.rs


+2377 Profil

icon Re: Statistika downloada i klikova za fajlove16.05.2014. u 19:56 - pre 120 meseci
aj probaj za drzave sam eto imas primer za fajlove, probaj pa kada
zaglavis da pomognemo, tako ces najlakse da naucis
 
Odgovor na temu

danieldulic
Subotica
CitySu team
Subotica

Član broj: 322224
Poruke: 34
*.dynamic.isp.telekom.rs.

ICQ: 443682699
Sajt: www.citysuteam.rs


Profil

icon Re: Statistika downloada i klikova za fajlove16.05.2014. u 20:29 - pre 120 meseci
Pokusavam, ali ne ide, non stop neka greska. Jedino sto sam skontao je da treba da uradim group by `country`, a ostalo mi skoro nista nije jasno. Skontao sam da se COALSENCE koristi za deljenje, a ostalo mi skoro nista nije jasno.

Evo jedan moj pokusaj:

Code:
SELECT
     t2.Country,
     t1.CLKs,
     COALESCE(t1.DLs, 0) AS DLs,
     COALESCE(t1.DLs / t1.CLKs, 0) AS Conv,
     COALESCE(t1.FullRevenue / t1.DLs, 0)  AS AverageDLRevenue,
     COALESCE(t1.FullRevenue / t1.CLKs, 0) AS AverageClickRevenue,
     COALESCE(t1.FullRevenue, 0) AS FullRevenue
     
FROM
     (SELECT
          `files`.`id` AS file_id,
          (SELECT COUNT(*)
          FROM
               `clicks`
          WHERE
               `clicks`.`file_id` = `files`.`id`, `clicks`.`country`
               AND `clicks`.`date` BETWEEN '2014-05-10' AND '2014-05-17'
          ) AS CLKs,

          t2.DLs,
          t2.RevnSUM AS FullRevenue

     FROM
               `files`
          LEFT JOIN
               (SELECT `file_id`, COUNT(*) AS DLs, SUM(revenue*percentage/100) AS RevnSUM, `downloads`.`country` AS Country
               FROM
                    `downloads`
               WHERE
                    `downloads`.`date` BETWEEN '2014-05-10' AND '2014-05-17'
               GROUP BY `country`
               ) t2
          ON
               (`t2`.`file_id` = `files`.`id` )
         
     WHERE
          `files`.`user_id` = 70
     ) t1

WHERE
     t1.CLKs > 0
ORDER BY
     FullRevenue DESC


Postoji neki MySQL-ov program za pravljenje i testiranje upita? Ja sve radim preko PHPMyAdmin-a, a tu nemam neke opcije, a zelim da skontam neke stvari, posto ce mi trebati jos "komplikovanih" upita, koje sam do sada izvrsavao preko PHP-a, a to je jako sporo i ne moze da se koristi za Ajax.
Daniel Dulic
 
Odgovor na temu

bogdan.kecman
Bogdan Kecman
"specialist"
Oracle
srbistan

Član broj: 201406
Poruke: 15887
*.com
Via: [es] mailing liste

Sajt: mysql.rs


+2377 Profil

icon Re: Statistika downloada i klikova za fajlove16.05.2014. u 21:18 - pre 120 meseci
uh nisi skontao :D
aj problaj da skontas ovaj upit prvo kako radi, koji deo ti nije jasan
... kreni da izvrsavas upit "iznutra" deo po deo i gledaj sta radi
 
Odgovor na temu

danieldulic
Subotica
CitySu team
Subotica

Član broj: 322224
Poruke: 34
*.dynamic.isp.telekom.rs.

ICQ: 443682699
Sajt: www.citysuteam.rs


Profil

icon Re: Statistika downloada i klikova za fajlove17.05.2014. u 10:24 - pre 120 meseci
U kom programu mogu da generisem kverije i to? Posto ja sve radim preko PHPMyAdmin-a, a kontam da ima neki program za lakse generisanje i testiranje kverija.
Daniel Dulic
 
Odgovor na temu

bogdan.kecman
Bogdan Kecman
"specialist"
Oracle
srbistan

Član broj: 201406
Poruke: 15887
*.com
Via: [es] mailing liste

Sajt: mysql.rs


+2377 Profil

icon Re: Statistika downloada i klikova za fajlove17.05.2014. u 17:26 - pre 120 meseci

 
Odgovor na temu

bogdan.kecman
Bogdan Kecman
"specialist"
Oracle
srbistan

Član broj: 201406
Poruke: 15887
*.com
Via: [es] mailing liste

Sajt: mysql.rs


+2377 Profil

icon Re: Statistika downloada i klikova za fajlove17.05.2014. u 17:27 - pre 120 meseci
upite generises u glavi, nista ih nece generisati za tebe (bar ne kako
valja)
a pises ih u cemu ti je najzgodnije

mysql-ov alat za crtanje baze i pisanje upita je
http://www.mysql.com/products/workbench/

pored njega ima brdo drugih alata
 
Odgovor na temu

[es] :: MySQL :: Statistika downloada i klikova za fajlove

Strane: 1 2

[ Pregleda: 4980 | Odgovora: 28 ] > FB > Twit

Postavi temu Odgovori

Navigacija
Lista poslednjih: 16, 32, 64, 128 poruka.