首頁 > 資料庫 > mysql教程 > 如何從MySQL中的每個類別中隨機選擇一筆記錄?

如何從MySQL中的每個類別中隨機選擇一筆記錄?

DDD
發布: 2024-12-20 10:52:09
原創
819 人瀏覽過

How to Select One Random Record from Each Category in MySQL?

從MySQL 中的每個類別中選擇單一隨機記錄

要從指定資料庫中的每個類別中擷取隨機項目,需要使用兩個-建議採用階段方法。首先,使用查詢以隨機順序組合項目和類別表:

SELECT
c.id AS cid,
c.category,
i.id AS iid,
i.name
FROM categories c
INNER JOIN items i ON c.id = i.category
ORDER BY RAND();
登入後複製

此查詢將以隨機順序顯示連接到各自類別的所有項目。若要將選擇限制為每個類別一項,請將上一個查詢嵌套在部分 GROUP BY 語句中:

SELECT * FROM (
SELECT
c.id AS cid,
c.category,
i.id AS iid,
i.name
FROM categories c
INNER JOIN items i ON c.id = i.category
ORDER BY RAND()
) AS shuffled_items
GROUP BY cid;
登入後複製

此部分 GROUP BY 確保每個類別僅包含一個隨機選擇的項目。請務必注意,ORDER BY 子句必須在 GROUP BY 子句之前套用,此方法才能正常運作。

雖然此方法可能不是最快的,但它提供了一種選擇單一隨機記錄的可靠方法來自 MySQL 資料庫中的每個類別。

以上是如何從MySQL中的每個類別中隨機選擇一筆記錄?的詳細內容。更多資訊請關注PHP中文網其他相關文章!

來源:php.cn
本網站聲明
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn
熱門教學
更多>
最新下載
更多>
網站特效
網站源碼
網站素材
前端模板