Модераторы: skyboy, MoLeX, Aliance, ksnk
  

Поиск:

Ответ в темуСоздание новой темы Создание опроса
> Определение позиции в рейтинге. 
V
    Опции темы
xShinigami
Дата 18.4.2011, 14:13 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



Профиль
Группа: Участник
Сообщений: 6
Регистрация: 18.4.2011

Репутация: нет
Всего: нет



Есть база данных

Код

CREATE TABLE IF NOT EXISTS `vote` (
  `id` int(11) NOT NULL AUTO_INCREMENT,
  `vote` int(11) NOT NULL DEFAULT '0',
  `char_id` int(11) NOT NULL,
  `date` varchar(7) NOT NULL,
  PRIMARY KEY (`id`)
) ENGINE=MyISAM  DEFAULT CHARSET=utf8 AUTO_INCREMENT=285 ;


vote - колчество голосов
char_id - персонаж за которого голосуют
date - месяц и год ("04-2011")

Определение позиции за текуший месяц есть, один запрос MySQL
Код

SELECT COUNT(DISTINCT `vote`)+1 as position FROM `vote` WHERE `vote` > (SELECT vote FROM vote WHERE `char`={$res['id']} and `date`='{$date}') ORDER BY vote ASC


Как определить позицию за все месяца которые есть в базе.

Если голосов за текущий месяц 10 а за прошлый месяц 20, то оно высчитывает также сумму голосов у всех остальных пользователей за каждый месяц и выводит позицию.
Как такое сделать чтоб затрачивалось меньше ресурсов и времени?


Это сообщение отредактировал(а) xShinigami - 18.4.2011, 16:42
PM MAIL   Вверх
xShinigami
Дата 18.4.2011, 20:51 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



Профиль
Группа: Участник
Сообщений: 6
Регистрация: 18.4.2011

Репутация: нет
Всего: нет



Кому интересно то
Код

SELECT `places`.* FROM (SELECT @row := @row + 1  as `place`, `summary`.`char` FROM 
(SELECT @index, `char` FROM `vote` GROUP BY `char` ORDER BY SUM(vote) DESC) as `summary`, 
(SELECT @row:=0) as `init`) as `places` WHERE `char`= //ид персонажа


Это сообщение отредактировал(а) xShinigami - 18.4.2011, 20:51
PM MAIL   Вверх
  
Ответ в темуСоздание новой темы Создание опроса
Правила форума "PHP"
Aliance
IZ@TOP
skyboy
SamDark
MoLeX

Новичкам:

  • PHP редакторы собираются и обсуждаются здесь
  • Электронные книги по PHP, документацию можно найти здесь
  • Интерпретатор PHP, полную документацию можно скачать на PHP.NET

Важно:

  • Не брезгуйте пользоваться тегами [code=php]КОД[/code] для повышения читабельности текста/кода.
  • Перед созданием новой темы воспользуйтесь поиском и загляните в FAQ
  • Действия модераторов можно обсудить здесь

Внимание:

  • Темы "ищу скрипт", "подскажите скрипт" и т.п. будут переноситься в форум "Web-технологии"
  • Темы с именами: "Срочно", "помогите", "не знаю как делать" будут УДАЛЯТЬСЯ

Если Вам понравилась атмосфера форума, заходите к нам чаще! С уважением, IZ@TOP, skyboy, SamDark, MoLeX, awers.

 
0 Пользователей читают эту тему (0 Гостей и 0 Скрытых Пользователей)
0 Пользователей:
« Предыдущая тема | PHP: Общие вопросы | Следующая тема »


 




[ Время генерации скрипта: 0.0820 ]   [ Использовано запросов: 22 ]   [ GZIP включён ]


Реклама на сайте     Информационное спонсорство

 
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности     Powered by Invision Power Board(R) 1.3 © 2003  IPS, Inc.