2012-09-10 26 views
-3

我在我的SQL數據庫中有兩個表格,一個用於用戶發送給另一個用於我的應用程序上的照片的投票的照片。我需要從「照片」表中提取30張照片,這些照片在「投票」表上有更多的選票。有沒有辦法用一個單一的查詢做到這一點?使用MySQL和PHP的兩個表格之間的數學運算

在此先感謝。

+0

是的,有一種方法可以做到這一點。你做了什麼來解決它? – mishu

回答

1

您應該能夠使用這樣的查詢:

select 
    a.photoFileName 
from 
    photos a 
     join votes b 
      on a.photoId=b.photoId 
order by 
    b.voteCount desc 
limit 30 

調整鍵,您的具體列名的鏈接字段。

這假設票數表中有一個數字列(voteCount),它具有該圖像的選票記錄。

0

像這樣的東西(如果每票存儲單),而是使自己的調整:

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:我沒有測試查詢,只是給你一個例子!

相關問題