我正在为我的网站创建一个广告平台,我们需要随机选择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 :(得分:1)
这就是你要找的东西:
SELECT *
FROM table
ORDER BY display_count ASC, RAND()
LIMIT 0,3;
答案 1 :(得分:0)
你试过吗
SELECT column FROM table ORDER BY RAND(), display_count LIMIT 0,3
? 我想这就是你想要的。