2.07.2013 / 13:34 | |
web_demon Супервизор Сейчас: Offline
Регистрация: 11.01.2010
| SELECT COUNT(*) FROM `table` ORDER BY `count`, `long` DESC; Ну или ASC, вечно путаюсь. Возвращаемое запросом значение - позиция юзера в таблице рекордов
Изменено web_demon (2.07 / 13:35) (всего 1 раз) |
2.07.2013 / 13:39 | |
aNNiMON Супервизор Сейчас: Offline
Имя: Витёк Регистрация: 11.01.2010
| web_demon, ты уверен, что это позиция юзера в рейтинге, а не количество записей в отсортированном списке? Я нашел такое решение: SELECT rating.rank FROM (
SELECT t.id, t.score, t.gametime, @rownum := @rownum + 1 AS rank
FROM ren_scoretable t, (SELECT @rownum := 0) r
ORDER BY score DESC, gametime ASC
) AS rating WHERE `id`='26'
__________________
let live |
2.07.2013 / 13:48 | |
web_demon Супервизор Сейчас: Offline
Регистрация: 11.01.2010
| Я так понимаю счет и длительность - это известные переменные? Тогда SELECT COUNT(*) FROM `table` WHERE `count` > "'.$count.'" AND `long` > "'.$long.'";
|
2.07.2013 / 13:57 | |
aNNiMON Супервизор Сейчас: Offline
Имя: Витёк Регистрация: 11.01.2010
| web_demon, хм, этот вариант поинтереснее, работает, но неточно. Для одного критерия он бы сгодился, но для двух не работает должным образом: если будут две записи с одинаковым счетом, то в приоритетной должна считаться запись с меньшим значением длительности, а тут это, я так понимаю, не учитывается.
__________________
let live |
2.07.2013 / 14:00 | |
web_demon Супервизор Сейчас: Offline
Регистрация: 11.01.2010
| Ну тогда в чем проблема? SELECT COUNT(*) FROM `table` WHERE `count` >= "'.$count.'" AND `long` < "'.$long.'";
Изменено web_demon (2.07 / 14:00) (всего 1 раз) |
2.07.2013 / 14:00 | |
aNNiMON Супервизор Сейчас: Offline
Имя: Витёк Регистрация: 11.01.2010
| Еще один глупый вопрос, точку с запятой в запросах обязательно всегда ставить?
__________________
let live |
2.07.2013 / 14:05 | |
web_demon Супервизор Сейчас: Offline
Регистрация: 11.01.2010
| aNNiMON, неа, не обязательно. В mysql_* вроде вообще не надо. Я просто использую mysqli и в частности multi_query, а там запросы нужно разделять точкой с запятой, вот и выработалась привычка лепить ее везде
|
3.07.2013 / 07:23 | |
Koenig Модератор форума Сейчас: Offline
Имя: Дмитрий Откуда: Калининград(Koenigsberg) Регистрация: 23.01.2011
| aNNiMON, что ты там такое пишешь?
__________________
Магистр Мёда |
3.07.2013 / 07:27 | |
Koenig Модератор форума Сейчас: Offline
Имя: Дмитрий Откуда: Калининград(Koenigsberg) Регистрация: 23.01.2011
| aNNiMON, процедуры тебе должны быть знакомы, как вариант сделать через нее
__________________
Магистр Мёда |
3.07.2013 / 08:11 | |
aNNiMON Супервизор Сейчас: Offline
Имя: Витёк Регистрация: 11.01.2010
| Koenig, таблицу рекордов. Я уже сделал через счетчик.
__________________
let live |