Новости
Документация
Download
Webboard
Поиск
FAQ/ЧаВо
Обратная связь




MySQL.RU - Webboard



Вернуться
? Циклическая выборка одноименных полей (meps) 30/06/2006 - 21:26:44
      Re: ? Циклическая выборка одноименных полей (meps) 01/07/2006 - 13:48:13



From: meps - 30/06/2006 - 21:26:44
Subject:? Циклическая выборка одноименных полей
-----------------
Для генерации на страницах сайта используется mySQL. Есть таблица значений переменных:
CREATE TABLE `tbl_stream` (
`id` int(10) unsigned NOT NULL auto_increment,
`ftext` mediumtext NOT NULL,
`fstream` varchar(32) default NULL,
`fsequence` int(10) unsigned NOT NULL default '0',
PRIMARY KEY (`id`)
)
Данные ftext из нее заполняются в переменные, одноименные с содержимым полей fstream. Этот код уже работает.

Задача следующая: при совпадении между собой нескольких значений fstream на каждом новом запросе нужно циклически заполнять соответствующую им переменную. Например, если в таблице существует 5 одноименных переменных с ftext == 'Top_Banner', то при первом запросе мы в переменную Top_Banner вносим значение ftext первой по порядку записи, при втором запросе -- ftext следующей записи и т.д. после внесения значения последней записи весь процесс повторяется сначала. Таким образом, если пользователь перезагружает одну и ту же страницу, на нее поочередно вставляются коды различных баннерных систем.

Вопрос в том, как это реализовать поизящнее. Дополнительные таблицы использовать не хочется, чтобы потом не требовалась синхронизация данных. Пока придумал такое решение -- завести поле fsequence, в нем хранить "очередность". При каждой загрузке страницы проводится инкремент этого поля по всей таблице. Для заполнения переменных берем только те записи, "очередность" у которых максимальна, после чего обнуляем "очередность" у каждой использованной записи.

Как нужно строить запрос, чтобы он выдал ТОЛЬКО те записи, у которых максимальная на данный момент "очередность" среди всех своих "однофамильцев"? И возможно ли это вообще средствами SQL?


[Это сообщение - спам!]

Последние сообщения из форума

Уважаемые посетители форума MySQL.RU!
Убедительная просьба, прежде чем задавать свой вопрос в этом форуме, обратите внимание на разделы:
- ответы на наиболее часто задаваемые вопросы - FAQ
- раздел документация
- раздел поиск по сообщениям форума и документации
Также, старайтесь наиболее подробно указывать свою ситуацию (версию операционной системы, версию MySQL, версию программного обеспечения, по которому возникает вопрос, текст возникающих ошибок, и др.)
Помните, чем конкретнее Вы опишете ситуацию, тем больше шансов получить реальную помощь.
 Имя:
 E-mail:
 Тема:
 Текст:
Код подтверждения отправки: Code
29033



РЕКЛАМА НА САЙТЕ
  Создание сайтов | |