我在我的SQL數據庫中有兩個表格,一個用於用戶發送給另一個用於我的應用程序上的照片的投票的照片。我需要從「照片」表中提取30張照片,這些照片在「投票」表上有更多的選票。有沒有辦法用一個單一的查詢做到這一點?使用MySQL和PHP的兩個表格之間的數學運算
在此先感謝。
我在我的SQL數據庫中有兩個表格,一個用於用戶發送給另一個用於我的應用程序上的照片的投票的照片。我需要從「照片」表中提取30張照片,這些照片在「投票」表上有更多的選票。有沒有辦法用一個單一的查詢做到這一點?使用MySQL和PHP的兩個表格之間的數學運算
在此先感謝。
您應該能夠使用這樣的查詢:
select
a.photoFileName
from
photos a
join votes b
on a.photoId=b.photoId
order by
b.voteCount desc
limit 30
調整鍵,您的具體列名的鏈接字段。
這假設票數表中有一個數字列(voteCount),它具有該圖像的選票記錄。
像這樣的東西(如果每票存儲單),而是使自己的調整:
SELECT
p.id,
COUNT(v.id)
FROM
photos p
JOIN
votes v ON p.id = v.photo_id
ORDER BY
COUNT(v.id) DESC
GROUP BY
v.photo_id
LIMIT 30;
PS:我沒有測試查詢,只是給你一個例子!
是的,有一種方法可以做到這一點。你做了什麼來解決它? – mishu