Форум: Форум PHPФорум ApacheФорум Регулярные ВыраженияФорум MySQLHTML+CSS+JavaScriptФорум FlashРазное
Новые темы: 0000000
MySQL на примерах. Авторы: Кузнецов М.В., Симдянов И.В. PHP на примерах (2 издание). Авторы: Кузнецов М.В., Симдянов И.В. PHP. Практика создания Web-сайтов (второе издание). Авторы: Кузнецов М.В., Симдянов И.В. MySQL 5. В подлиннике. Авторы: Кузнецов М.В., Симдянов И.В. Программирование. Ступени успешной карьеры. Авторы: Кузнецов М.В., Симдянов И.В.
ВСЕ НАШИ КНИГИ
Консультационный центр SoftTime

Форум MySQL

Выбрать другой форум

 

Здравствуйте, Посетитель!

вид форума:
Линейный форум Структурный форум

тема: Непонятки в запросе суммирования уникальных показов уникальных страниц
 
 автор: Владимир55   (02.04.2009 в 23:23)   письмо автору
 
 

Есть таблица с данными типа
str_vh namerekl  skolko 
index.htm    16    1
index.htm    16    1
index.htm    20    1
12345.htm    20    1
index.htm    20    4
index.htm    32    1
12345.htm    32    5
index.htm    32    1

И нужно подсчитать для каждой страницы количество показов каждой рекламы на ней. То есть, для данного примера получить такой результат:
str_vh namerekl  skolko 
index.htm    16    2
index.htm    20    5
12345.htm    20    1
index.htm    32    2
12345.htm    32    5


Пытался сделать это одним запросом, но не сумел.

Тогда пошел по более простому пути: нахожу уникальные значения страниц и для каждой из них перебором нахожу сумму показов каждой отдельной рекламы, а полученные данные записываю в новую таблицу. Но выдает такую белиберду, что уже не знаю, что и подумать!


<?php
    
// Найдем уникальные страницы
    // и для каждой из них подсчитаем количество показов каждой рекламы
    
$res mysql_query("SELECT DISTINCT str_vh FROM pos_rekl_set_tmp");
    while(
$row mysql_fetch_assoc($res))
    {
        
$str_vh $row['str_vh'];

        
$res1 mysql_query("SELECT namerekl, SUM(skolko) AS scnt FROM pos_rekl_set_tmp WHERE str_vh = '$str_vh' GROUP BY namerekl");
        while(
$row1 mysql_fetch_assoc($res1))
        {
            
$namerekl $row1['namerekl'];
            
$skolko   $row1['scnt'];
            
mysql_query ("INSERT INTO rekl_set_vse (str_vh, namerekl, skolko) VALUES ('$str_vh', '$namerekl', '$skolko')");
        }
    }  

  Ответить  
Rambler's Top100
вверх

Rambler's Top100 Яндекс.Метрика Яндекс цитирования