跨多個類別隨機選擇資料庫
這裡提出的挑戰是從資料庫中的每個類別中檢索單一隨機記錄。 Items 表包含這些記錄,每個記錄都會指派給對應的 Category 表指定的類別。
要完成此任務,可以透過 RAND() 函數和 LIMIT 1 子句利用 MySQL 固有的隨機性。然而,這裡的獨特之處是需要為每個不同的類別選擇一個隨機記錄。
以下查詢優雅地解決了這個挑戰:
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
此查詢的結構可以檢索一個每個類別的隨機記錄:
雖然這種方法可能不具備出色的速度,但它有效地解決了跨多個隨機記錄選擇的挑戰。類別。歡迎提出其他優化建議,進一步增強此查詢的實用性。
以上是如何從MySQL資料庫中的每個類別中隨機選擇一筆記錄?的詳細內容。更多資訊請關注PHP中文網其他相關文章!