[英]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.