mysql通过random()和order by value --possible组合顺序?

时间:2017-08-25 20:21:50

标签: php mysql random sql-order-by social-networking

我想知道是否有可能从数据库中获取随机数组,但也可以根据数组的值对某些数组进行特权(按***排序) 我会自己解释一下。我有一些帖子在php应用程序中随机显示给用户,但我也想先显示流行的帖子。 我不知道我是否真的很清楚,谢谢你的帮助!

2 个答案:

答案 0 :(得分:0)

是的,这可以用于选择按最高人气排序的5个随机条目。

SELECT MIN(ID), MAX(ID) FROM table INTO @min, @max;
SET @range = @max - @min;
SET @mr = @min + ((@range / 1000) * (rand() * 1000));

SELECT * FROM table WHERE id >= @mr and id <= @mr + 1000
ORDER BY popularity DESC LIMIT 5;

答案 1 :(得分:0)

ORDER BY popular DESC, RANDOM()

假设popular10,这将首先显示流行的,然后是不受欢迎的。在每个类别中,他们都是随机的。