方案:Mysql查詢 - 在表中選擇最高排名/排序主題(加入)
我們有5個用戶。 (用戶表) 每個用戶最多有10個imgs。 (image table) 這10個圖像可以訂購1 - 10.(圖表) 每個img可以列在多個類別(比如說有5個類別 - 鳥類,蜜蜂,兔子,大腦,白鯨(類別表連接到img表通過存儲img_ids和category_ids的表格)
在搜索類別時,說某人選擇蜜蜂。搜索應該找到該類別中的圖像,該圖像被列在所有用戶的#1 img的CLOSEST中。有3個圖像的蜜蜂類別,訂購數字4,7 & 9,搜索應顯示第4個最接近數字1.
我一直得到的結果是遍佈整個地方,幾乎看起來像它是ch通過將它們添加到數據庫中時添加圖像。
SELECT i.img_name, i.ordered, a.user_name, c.keyword, c.cat_id
FROM images AS i JOIN artists AS a USING (user_id)
JOIN img_cat_table AS im USING (img_id)
JOIN catkeys AS c USING (cat_id)
WHERE (cat_id = 3) // THE BEES ID #
GROUP BY user_id ORDER BY user_name DESC
是user_img圖像(即用戶的排名。你想排序的領域)? –
你可以發表表格的輪廓嗎? – ben
@馬克B - 對不起,這是一個錯字。它只是按用戶名(按字母順序)排序。 –