刚刚得到一个简单的问题,这是一个简单的事情要通过PHP做,但我很确定必须有一种方法来通过MySQL做到这一点。
我有一个包含列id,element_id,video_link,其他几个视图的表。
我想要做的是随机选择前5个观看次数最多的视频中的一个。
E.g
SELECT *
FROM table_name
WHERE "In human terms order by views descending and then select 1 of the top 5 at random"
通过PHP进行操作非常简单,如果没有办法通过MySQL进行操作,我会使用它,但很高兴知道!
答案 0 :(得分:1)
SELECT *
FROM (
SELECT *
FROM `tablename`
ORDER BY id DESC
LIMIT 5
) AS inner_table
ORDER BY RAND( )
答案 1 :(得分:1)
SELECT * FROM
( SELECT * FROM table_name
WHERE name = 'aas'
ORDER BY views DESC LIMIT 5
)
ORDER BY RAND() LIMIT 1
答案 2 :(得分:-1)
试试这样:
SELECT
*
FROM
(SELECT * FROM table WHERE <order by something> LIMIT 0,5)
ORDER BY
RAND()
LIMIT 0,1