簡體   English   中英

獲取隨機查詢結果,然后對其進行排序

[英]get a random query result and then sort it

我需要運行ORDER BY RAND查詢,然后對所得數據集進行數字排序。 換句話說,我想要一個隨機的數據集(在這種情況下為7個數字),但是隨后我需要對這7個結果進行數字排序。

此代碼運行后:

if ($today == "Oct 31") { 

  $dayList = "halloween"; 
  $stmt = $pdo->query("SELECT `rand` FROM `jukebox2014` 
           WHERE `class` = '$dayList' ORDER BY RAND() LIMIT 7");
}

我需要對7個結果進行排序。

有任何想法嗎?

謝謝。

簡單如:

SELECT `rand`
FROM (
    SELECT ... ORDER BY RAND() LIMIT 7
)
ORDER BY `rand`

並不是說ORDER BY RAND() LIMIT 7是一種選擇隨機數據的效率很低的方法; 更有效的方法將取決於您的確切數據。 在Stackoverflow上搜索有關此主題的許多問題。

我想這就是你的意思。

$new = array();
foreach ($results as $result) {
    $new[] $result['rand'];
}

$sorted = ksort($new);

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM