я создал таблицу и туда записывается тот кто голосовал
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)