我有一個數據庫,其中包含有關用戶創建的項目的信息。每個項目可以有多個圖像相關聯,我想有一個SQL查詢4個隨機項目圖像,但不應該從同一個項目兩次返回圖像。返回隨機圖像SQL
這裏的表結構的審查(不完全,但包括相關的信息):
表1:item_images:
+----------+--------------+
| item_id | filename |
+----------+--------------+
| 1 | test.jpg |
| 1 | test2.jpg |
| 5 | testy.jpg |
+----------+--------------+
表2:ITEM_LINK:
+----------+-------------+
| item_id | category_id |
+----------+-------------+
| 1 | 1 |
| 5 | 1 |
+----------+-------------+
因此,鑑於上述數據,我想返回一個項目#1的隨機圖像和5,因爲它們都存在於類別#1中。
這是我已經嘗試的SQL查詢,但由於某種原因,它總是返回相同的兩個圖像。我該如何修改它以從匹配的項目中返回一個隨機圖像?
SELECT `item_images`.`filename` AS `url` FROM `item_images`
INNER JOIN `item_link` ON `item_images`.`item_id` = `item_link`.`item_id`
WHERE `item_link`.`category_id` = 1
GROUP BY `item_link`.`item_id`
ORDER BY RAND()
LIMIT 4
謝謝,此版本正常工作。 – BenM
歡迎您:) – ChaosClown