Пишу скрипт голосовалки, точнее уже написал, осталось только вот это...
Есть таблица со столбцами:
id (auto increment)
ip
site
vote
ID при каждой записи увеличивается на 1 (ну это понятно).
В IP записывается IP голосовавшего.
В SITE записывается домен, за который проголосовали.
В VOTE записывается 0 если проголосовали против, и 1 если за.
Нужно составить ТОП 100 лучших и ТОП 100 худших сайтов.
Хочу посчитать сколько голосов набрал каждый сайт и вывести 100 самых самых. Как посчитать я знаю:
// Вычисляем голоса ЗА
$resup = mysql_query("SELECT COUNT(*) FROM `voting` WHERE `site`='".$site."' AND vote='1'");
$rowup = mysql_fetch_row($resup);
// Вычисляем голоса ПРОТИВ
$resdown = mysql_query("SELECT COUNT(*) FROM `voting` WHERE `site`='".$site."' AND vote='0'");
$rowdown = mysql_fetch_row($resdown);
По сути можно вывести сначала все записи с уникальным значением поля SITE, затем посчитать сколько голосов набрал каждый и вывести только 100 самых лучших. Но хотелось бы сделать это так сказать "не отходя от кассы" а именно - одним запросом в MySQL
Вот и хотел бы узнать, возможно ли это? Просто записей в таблице будет очень много и выводить все сайты очень муторно... большой объём данных.