Heckfy Опубликовано 21 Августа 2005 Жалоба Поделиться Опубликовано 21 Августа 2005 Допустим у меня 100 записей в таблице с ячейками id, hitsтаблица id имеет нумерацию строк с 1 по 100, в hits храню записи сколько людей посетили данный ID раздел..например id=5 имеет 45 заходов, id=2 имеет 23 а id=9 100 заходов.в итоге если считать порядком hits (высокое значение) то получается таблица будет считана так:id=9 : hits=100id=5 : hits=45 id=2 : hits=23и хотел поинтересоваться возможно ли таким запросом узнать в каком месте находится ID=5?запрос:SELECT id FROM table WHERE id = 5 ORDER BY hits DESC LIMIT 1по примеру видно что ID5 стоит на втором месте, как можно этого добится без помощи цикла while ? т.е. что-то вроде mysql_num_rows() которая считывает сколько строк находится таблице. Цитата Ссылка на комментарий Поделиться на других сайтах Прочее
Song Опубликовано 21 Августа 2005 Жалоба Поделиться Опубликовано 21 Августа 2005 Как-то так:SELECT COUNT(t.id) FROM temp t, temp t2 WHERE t2.id=5 and t.hits>=t2.hits ORDER BY t.hits DESC Цитата Ссылка на комментарий Поделиться на других сайтах Прочее
Vic'er Опубликовано 21 Августа 2005 Жалоба Поделиться Опубликовано 21 Августа 2005 А зачем такой изврат, если все равно прийдется пробегать по роусам? Цитата Ссылка на комментарий Поделиться на других сайтах Прочее
Song Опубликовано 22 Августа 2005 Жалоба Поделиться Опубликовано 22 Августа 2005 1) Почему изврат?2) Зачем пробегать? Номер места запрос выдаёт. Цитата Ссылка на комментарий Поделиться на других сайтах Прочее
Vic'er Опубликовано 22 Августа 2005 Жалоба Поделиться Опубликовано 22 Августа 2005 Оупс...я не заметил "LIMIT 1" - я думал ему список нужен.. Цитата Ссылка на комментарий Поделиться на других сайтах Прочее
Heckfy Опубликовано 28 Августа 2005 Автор Жалоба Поделиться Опубликовано 28 Августа 2005 мне не совсем понятно откуда у нас появилась таблица temp t2 ? я работаю только с одно temp, второй у меня нет)так же дело обстоит и с t.hits>=t2.hits как я проверю больше или равно если я не имею похожей таблицы? простите но я не совсем понял данный запрос, точнее понять понял.. И еще невольно вопрос напрашивается, мне для этого потребуется клонировать таблицу и вестии ее паралельно как "черный" бух учет? Цитата Ссылка на комментарий Поделиться на других сайтах Прочее
Song Опубликовано 29 Августа 2005 Жалоба Поделиться Опубликовано 29 Августа 2005 Ну так правильно, её нет. Я джойню её же (т.е. первую) под другим алиасом.Ты запусти запрос-то да и всё. Поймёшь оно или не оно. Цитата Ссылка на комментарий Поделиться на других сайтах Прочее
Sex Опубликовано 1 Сентября 2005 Жалоба Поделиться Опубликовано 1 Сентября 2005 чёт не совсем понятно, зачем вообще надо знать на каком месте находиться id, точнее я так понял нужно узнать кго физическое расположение в таблице.. и всё-таки зачем? Цитата Ссылка на комментарий Поделиться на других сайтах Прочее
Heckfy Опубликовано 1 Сентября 2005 Автор Жалоба Поделиться Опубликовано 1 Сентября 2005 Songвсе.. дошло, благодарю SexКогда начнешь делать топ-рейтинг сайтов, поймешь Цитата Ссылка на комментарий Поделиться на других сайтах Прочее
toha Опубликовано 5 Сентября 2005 Жалоба Поделиться Опубликовано 5 Сентября 2005 поскольку мускуль не знаю совершенно, прошу помощи:1. необходимо запросом через админку сделать бекап таблицы N из общей базы данных форума. Именно запросом и именно таблицы, а не всей базы2. если не сложно, дайте что-то почитать конкретное по mysql, именно интересные статейки может какиеспасибо Цитата Ссылка на комментарий Поделиться на других сайтах Прочее
GiV Опубликовано 5 Сентября 2005 Жалоба Поделиться Опубликовано 5 Сентября 2005 1. необходимо запросом через админку сделать бекап таблицы N из общей базы данных форума. Именно запросом и именно таблицы, а не всей базыэто что то из разряда фантастики, да?2. если не сложно, дайте что-то почитать конкретное по mysql, именно интересные статейки может какиеman mysqldump -- хорошее чтиво Цитата Ссылка на комментарий Поделиться на других сайтах Прочее
Рекомендуемые сообщения
Присоединиться к обсуждению
Вы можете ответить сейчас, а зарегистрироваться позже. Если у вас уже есть аккаунт, войдите, чтобы ответить от своего имени.