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

Форум MySQL

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

 

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

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

тема: выбрать из таблицы одну запись с номером очереди показа 1 и еще три случайных одним запросом
 
 автор: elenaki   (04.02.2011 в 21:39)   письмо автору
 
 

есть таблица баннеров.

из нее выбирались случайные 4, сортировались согласно очередности и выводились. теперь дура-заказчица хочет, чтобы один из этих четырех баннеров всегда показывался первым, а три остальных - выбирались бы как и раньше случайным образом, сортировались и выводились после первого.

запрос был такой -

$banner_query = mysql_query("SELECT * FROM  (select * from banners WHERE ban_pos='block_1' order by RAND(), ban_order limit 4) tmp ORDER by tmp.ban_order") or die(mysql_error());
 


теперь надо выбрать сначала баннер, у которого ban_order=1, потом 3 других случайных, одним запросом. у меня там еще несколько запросов и они вызываются соответственно определенным условиям.

  Ответить  
 
 автор: cheops   (04.02.2011 в 21:50)   письмо автору
 
   для: elenaki   (04.02.2011 в 21:39)
 

Если ban_order принимает 1 для фиксированных баннеров и 0 для всех остальных, тогда всунуть фиксированный баннер перед тремя случайными можно так
select * from banners 
WHERE ban_pos='block_1' 
order by ban_order DESC, RAND() 
limit 4

  Ответить  
 
 автор: elenaki   (04.02.2011 в 22:00)   письмо автору
 
   для: cheops   (04.02.2011 в 21:50)
 

спасибо. это больше похоже на то, что она хочет. один с 1-й очередью всегда первый, остальным я поставила очередь 0 и они меняются. но боюсь, что она захочет и остальные расставить по очереди...

  Ответить  
Rambler's Top100
вверх

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