Синтаксис SQL для случайного подуровня ORDER BY? - PullRequest
2 голосов
/ 26 февраля 2011

Мне нужна помощь с самыми тупыми вопросами. Я хочу сделать запрос, упорядоченный по одному полю с именем client_level. Таблица содержит около 400 строк, и возможные значения client_level - NULL, 1,2,3,4 и 5.

Это уровни клиента. Я хочу заказать всех клиентов по их client_level. Клиенты с уровнем 5 должны идти раньше, чем клиенты уровня 4 и т. Д. Это легко.

SELECT * FROM client ORDER BY client_level DESC;

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

SELECT * FROM client ORDER BY client_level, RAND() DESC;

Я уверен, что должен быть способ, спасибо за ваши ответы. С уважением,

1 Ответ

6 голосов
/ 26 февраля 2011

Я думаю, что вы просто потеряли DESC. попробовать:

SELECT * FROM client ORDER BY client_level DESC, RAND();
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...