|
|
|
| Есть таблица с данными типа
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')");
}
}
|
| |
|
|