Место в талице mysql

ЕСТЬ РЕШЕНИЕ ЗАКРЫТО
#1 21 сентября 2012 в 15:31
Вопросец небольшой по mysql:

Имеется таблица mysql с колонками:
1. id записи
2. сама запись
3. рейтинг записи (числовое значение)

Какой запрос надо сделать чтоб узнать на каком по счету месте стоит нужная мне запись (id), если отсортировать по рейтингу?
#2 21 сентября 2012 в 16:21
я бы сделал так:
Предположим нас интересует запись с id = 8
сначала нужно узнать рейтинг вашей записи:
$id=8;
$raiting = $inDB->get_field('cms_content', "id=$id", 'raiting');

зная рейтинг, делаем такой запрос:

$sql = "SELECT * FROM cms_content WHERE raiting >= '$raiting' ORDER BY raiting DESC";
$result = $inDB->query($sql);

Данный запрос возьмёт из базы (для примера исп таблица cms_content) все строки с рейтингом больше вашей и включая вашу. Причём ваша строка будет последней, так как её рейтинг будет самым маленьким в этой выборке.
Следовательно, количество записей в этой выборке и будет тем числом, которое вы ищите.
Узнать его можно так:

$nomer = $inDB->num_rows($result)
#3 21 сентября 2012 в 16:35
Как говорится все гениальное просто… а я думал-думал… вообщем плюсик вам за подсказку.
Используя этот сайт, вы соглашаетесь с тем, что мы используем файлы cookie.