如何在不使用PHP的情况下将一个查询的值传递给另一个查询MySQL

时间:2012-10-18 06:23:26

标签: php mysql sql

刚刚得到一个简单的问题,这是一个简单的事情要通过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进行操作,我会使用它,但很高兴知道!

3 个答案:

答案 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