Novo

Forum kao aplikacija na telefonu

Dodajte forum na početni ekran i koristite ga kao aplikaciju, sa menijem na dnu ekrana.

  • 28 odgovora
  • 7.229 pregleda

Najnovija ↓

Re: Statistika downloada i klikova za fajlove 16.05.2014. u 20:47 · pre 151 mesec #21
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
 
Potpis
arhimed
http://www.mysql.rs/ | http://elco.crsndoo.com/
Re: Statistika downloada i klikova za fajlove 16.05.2014. u 20:54 · pre 151 mesec #22
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
Potpis
arhimed
http://www.mysql.rs/ | http://elco.crsndoo.com/
Re: Statistika downloada i klikova za fajlove 16.05.2014. u 20:54 · pre 151 mesec #23
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
Potpis
Daniel Dulic
Re: Statistika downloada i klikova za fajlove 16.05.2014. u 21:29 · pre 151 mesec #25
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.
Potpis
Daniel Dulic
Re: Statistika downloada i klikova za fajlove 17.05.2014. u 18:27 · pre 151 mesec #29
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
Potpis
arhimed
http://www.mysql.rs/ | http://elco.crsndoo.com/
Odgovori
Prijavite se da biste odgovorili u ovoj temi.PrijavaRegistracija

Premeštanje teme