Форум: Форум PHPФорум ApacheФорум Регулярные ВыраженияФорум MySQLHTML+CSS+JavaScriptФорум FlashРазное
Новые темы: 0000000
Объектно-ориентированное программирование на PHP. Авторы: Кузнецов М.В., Симдянов И.В. PHP Puzzles. Авторы: Кузнецов М.В., Симдянов И.В. PHP 5/6. В подлиннике. Авторы: Кузнецов М.В., Симдянов И.В. PHP. Практика создания Web-сайтов (второе издание). Авторы: Кузнецов М.В., Симдянов И.В. PHP на примерах (2 издание). Авторы: Кузнецов М.В., Симдянов И.В.
ВСЕ НАШИ КНИГИ
Консультационный центр SoftTime

Форум MySQL

Выбрать другой форум

 

Здравствуйте, Посетитель!

вид форума:
Линейный форум Структурный форум

тема: Как получить текущее место в рейтинге?
 
 автор: amigo62   (03.04.2008 в 17:54)   письмо автору
 
 

Здравствуйте! Реально ли одним запросом (или несколькими) узнать текущую позицию сайта (строки) в рейтинге (таблицы), если распределение мест происходит по количеству посетителей (ORDER BY `hosts` DESC)? На данный момент мне известен только способ с выборкой всех строк в массив и получением позиции из ключа...

   
 
 автор: parczynski   (03.04.2008 в 19:19)   письмо автору
 
   для: 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 меньше

   
 
 автор: amigo62   (03.04.2008 в 19:37)   письмо автору
 
   для: parczynski   (03.04.2008 в 19:19)
 

Спасибо! А что означает as cnt в запросе?

   
 
 автор: parczynski   (03.04.2008 в 21:03)   письмо автору
 
   для: amigo62   (03.04.2008 в 19:37)
 

это имя колонки в результативной таблице. то есть грубо говоря если это все обработать mysql_query, а потом
$row=mysql_fetch_array то получить результат можно будет так:
$row['cnt']

   
Rambler's Top100
вверх

Rambler's Top100 Яндекс.Метрика Яндекс цитирования