1

簡単な質問がありました。これは PHP を介して行うのは簡単なことですが、MySQL を介して行う方法が必要であると確信しています。

id、element_id、video_link、views などの列を含むテーブルがあります。

やりたいこと 再生回数の多い上位 5 本の動画からランダムに 1 つを選択します。

例えば

SELECT *
  FROM table_name
 WHERE "In human terms order by views descending and then select 1 of the top 5 at random"

PHP経由で行うのは本当に簡単で、MySQL経由で行う方法がない場合はそれを使用しますが、知っておくといいでしょう!

4

3 に答える 3

2
SELECT *
FROM (
    SELECT *
    FROM `tablename`
    ORDER BY id DESC
    LIMIT 5
) AS inner_table
ORDER BY RAND( ) 
于 2012-10-18T06:33:40.327 に答える
1
SELECT * FROM 
  (  SELECT * FROM table_name 
      WHERE name  = 'aas' 
     ORDER BY views DESC LIMIT 5 
  )
ORDER BY RAND() LIMIT 1
于 2012-10-18T06:39:32.833 に答える
-1

このようにしてみてください:

SELECT 
   * 
FROM 
   (SELECT * FROM table WHERE <order by something> LIMIT 0,5) 
ORDER BY 
   RAND() 
LIMIT 0,1
于 2012-10-18T06:29:17.017 に答える