|
|
|
| Здравствуйте! Реально ли одним запросом (или несколькими) узнать текущую позицию сайта (строки) в рейтинге (таблицы), если распределение мест происходит по количеству посетителей (ORDER BY `hosts` DESC)? На данный момент мне известен только способ с выборкой всех строк в массив и получением позиции из ключа... | |
|
|
|
|
|
|
|
для: amigo62
(03.04.2008 в 17:54)
| | Если ключевое поле таблицы - id, а имя таблицы - table то примерно так:
select COUNT(*) as cnt from table WHERE hosts > (SELECT hosts FROM table WHERE id = ".$id." limit 0,1)
это количество сайтов в рейтинге которые выше сайта с индексом $id, соответственно позиция сайта $id - на 1 меньше | |
|
|
|
|
|
|
|
для: parczynski
(03.04.2008 в 19:19)
| | Спасибо! А что означает as cnt в запросе? | |
|
|
|
|
|
|
|
для: amigo62
(03.04.2008 в 19:37)
| | это имя колонки в результативной таблице. то есть грубо говоря если это все обработать mysql_query, а потом
$row=mysql_fetch_array то получить результат можно будет так:
$row['cnt'] | |
|
|
|