2012-07-26 4 views
1

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

Мы можем получить случайные строки, как это,

SELECT column FROM table ORDER BY RAND() LIMIT 0,3

и мы можем сбалансировать количество раз приращения счетчика поля при выборе строки, каждый раз, и выбрать строки с меньшим колом, как это,

SELECT * FROM table ORDER BY display_count LIMIT 0,3.

Но оно вернет такие значения, как 1,2,3, 4,5,6 и так далее. Но мне нужно выбирать строки с минимальным счетом случайным образом. Любое предложение или идея об этом было бы здорово?

+0

Вы можете разместить некоторые выборочные данные с ожидаемым результатом? – Madhivanan

ответ

1

это то, что вы ищете:

SELECT * 
FROM table 
ORDER BY display_count ASC, RAND() 
LIMIT 0,3; 
0

ли вы пробовали

SELECT column FROM table ORDER BY RAND(), display_count LIMIT 0,3 

? Я думаю, что это то, что вы хотите.

+0

Это не работает :( – Stranger

+0

Я тестировал и работал нормально. Можете ли вы сказать мне, почему он не работает? – TheGiantBeast

Смежные вопросы