$sql = mysql_query("SELECT ip, COUNT(*) as `summa` FROM `shop_tovar` GROUP BY `ip` ORDER BY `summa` DESC");
while ($line = mysql_fetch_assoc($sql))
{
echo "<tr>
<td>". $line['title'] ."</td>
<td>". $line['summa'] ."</td>
<tr>";
}
Результат:
100.70.15.77 7
100.10.16.14 7
100.70.37.14 6
100.70.24.74 5
100.70.55.35 1
100.71.42.25 1
---
Теперь хочу сделать условие если айпи с товаром встречается только один раз то его не выводить:
$sql = mysql_query("SELECT ip, COUNT(*) as `summa` FROM `shop_tovar` WHERE `suuma` > 1 GROUP BY `ip` ORDER BY `summa` DESC");
Так не работает, пробывал WHERE `COUNT(*)` > 1 тоже ошибка.
Спустя 28 минут (19.02.2010 - 16:15) phz написал(а):
Решил свою задачу. Хорошо что не кто не помог. Вот запрос:
Использовал фразу HAVING.
Фраза HAVING играет такую же роль для групп, что и фраза WHERE для строк: она используется для исключения групп, точно так же, как WHERE используется для исключения строк. Эта фраза включается в предложение лишь при наличии фразы GROUP BY, а выражение в HAVING должно принимать единственное значение для группы.
$sql = mysql_query("SELECT ip, COUNT(*) as `summa` FROM `shop_tovar` GROUP BY `ip` HAVING COUNT(*) > 1 ORDER BY `summa` DESC");
Использовал фразу HAVING.
Фраза HAVING играет такую же роль для групп, что и фраза WHERE для строк: она используется для исключения групп, точно так же, как WHERE используется для исключения строк. Эта фраза включается в предложение лишь при наличии фразы GROUP BY, а выражение в HAVING должно принимать единственное значение для группы.