Модераторы: skyboy
  

Поиск:

Ответ в темуСоздание новой темы Создание опроса
> [MySQl] голосование в реальном времени, ретйинги 
:(
    Опции темы
gcc
Дата 10.6.2009, 01:54 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Агент алкомафии
****


Профиль
Группа: Участник
Сообщений: 2691
Регистрация: 25.4.2008
Где: %&й

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



как сделать голосование в реальном времени?

я создал таблицу и туда записывается тот кто голосовал

id | id_user | id_co | ip | time

id_co - это элемент за который проголосовали за какое-то время

1) как теперь отсортировать по убывания, сделать ретйинг за какое-то время?

2) есть какой-то id_co как узнать его позицию в данном ретйинге?

=============================

второй пункт раньше делал так:
(только там было не в рейльном времени, а просто прибавлялись записывались голоса)

Код

id | name | pole|
------------------|
1    a       20
2    b       30    |
3    c       10
----------------- |


Код

SELECT count(*)+1 FROM `table` AS t1
LEFT JOIN `table` AS t2
ON t1.id=$id AND t1.pole < t2.pole
where t2.id IS NOT NULL


Код

select tmp.position
from (select row_number() over(order by pole desc) as position, id from rating) as tmp
where tmp.id = 2


Код

select count(*) +1 position from table where pole > (select pole from table where id=2)


Это сообщение отредактировал(а) gcc - 10.6.2009, 01:55
PM WWW ICQ Skype GTalk Jabber   Вверх
gcc
Дата 13.6.2009, 23:40 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Агент алкомафии
****


Профиль
Группа: Участник
Сообщений: 2691
Регистрация: 25.4.2008
Где: %&й

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




1
Код

SELECT rownum FROM (SELECT @rownum:=@rownum+1 rownum, id_co FROM (SELECT @rownum:=0) r, 
(SELECT count(*) cnt, id_co FROM tablename GROUP BY id_co ORDER BY cnt DESC) t1) t2 WHERE t2.id_co=id_того,что нужно 


2
Код

 SELECT count(*) cnt, id_co FROM tablename WHERE  time BETWEEN ... AND .... GROUP BY id_co ORDER BY cnt DESC 


посдкажите что это значит @rownum:=@rownum+1    (SELECT @rownum:=0)   это массив?

можно ли это написать по проще? 
я использую модуль абстракции который дает чтобы одни запросы работали сразу на нескольких СУБД sqlitem mysql, pgsql

Это сообщение отредактировал(а) gcc - 13.6.2009, 23:45
PM WWW ICQ Skype GTalk Jabber   Вверх
  
Ответ в темуСоздание новой темы Создание опроса
0 Пользователей читают эту тему (0 Гостей и 0 Скрытых Пользователей)
0 Пользователей:
« Предыдущая тема | Составление SQL-запросов | Следующая тема »


 




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


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

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