SQLinfo.ru - Все о MySQL

Форум пользователей MySQL

Задавайте вопросы, мы ответим

Вы не зашли.

#1 03.02.2009 07:52:17

Musicmaker
Участник
Зарегистрирован: 03.02.2009
Сообщений: 4

Помогите составить запрос

Подскажите, можно ли в одном запросе выбрать новости отсортировав их сначала по кол-ву просмотров а потом случайным образом?
Либо подскажите как это сделать двумя запросами.

Т.е. есть примерно такой запрос. Как сделать чтобы все это отсортировать еще и по rand()

SELECT id, title FROM news WHERE blablabla ORDER BY read desc LIMIT 0,10

Неактивен

 

#2 03.02.2009 09:44:01

LazY
_cмельчак
MySQL Authorized Developer and DBA
Зарегистрирован: 02.04.2007
Сообщений: 849

Re: Помогите составить запрос

Подскажите, можно ли в одном запросе выбрать новости отсортировав их сначала по кол-ву просмотров а потом случайным образом?

А почему нельзя сразу случайным образом?
Ведь случайная сортировка нарушит любую предшествующую.

Неактивен

 

#3 03.02.2009 09:56:42

Musicmaker
Участник
Зарегистрирован: 03.02.2009
Сообщений: 4

Re: Помогите составить запрос

Скажем, мне нужно вывести на сайте два блока (на самом деле больше), по 10 новостей в каждом,  самых популярных новостей за последнюю неделю (т.е. предварительно отбираю например 100 новостей за период 7 дней по кол-ву просмотров), но так чтобы новости в них формировались случайным образом, а не повторялись в каждом из блоков.

Отредактированно Musicmaker (03.02.2009 10:00:55)

Неактивен

 

#4 03.02.2009 10:38:11

LazY
_cмельчак
MySQL Authorized Developer and DBA
Зарегистрирован: 02.04.2007
Сообщений: 849

Re: Помогите составить запрос

Тогда нужно в два запроса - сначала самые популярные, потом уже из них случаную выборку.
Первым запросом лучше выбрать только id новостей (в смысле, не целиком запись со всеми столбцами таскать) во временную таблицу, которую потом через JOIN соединить с основной во втором запросе.

Неактивен

 

#5 03.02.2009 10:48:12

Musicmaker
Участник
Зарегистрирован: 03.02.2009
Сообщений: 4

Re: Помогите составить запрос

Да, это и пытаюсь сделать. Буду очень благодарен простейшему примеру.

Неактивен

 

#6 03.02.2009 11:49:34

Musicmaker
Участник
Зарегистрирован: 03.02.2009
Сообщений: 4

Re: Помогите составить запрос

Все, разобрался. Благодарю за помощь!

Неактивен

 

Board footer

Работает на PunBB
© Copyright 2002–2008 Rickard Andersson