2011-05-31 47 views
2

使用PHP和MySQL我試圖在特定時間段內(24小時,1周,1年等)顯示大多數投票的項目。當有人票上的項目,表中的記錄,用戶,商品編號票和時間,像這樣:基於SUM的時間表顯示數據

表1

username | itemid | vote | time 
    asdf | 127 | 1 | 1306726126 
    asdf | 124 | -1 | 1306726123 
    bob | 127 | 1 | 1306726129 
    bob | 124 | 1 | 1306726123 

現在,我有一個項目的詳情另一個表。

表2

itemid | name | category | date | etc 

我想要做的就是調用表,從表在過去24小時顯示所有數據帶票僅項目,並通過投票排序。這意味着我需要SUM時間< 24小時,然後右加入(?)到我的其他數據庫SUM選票?我不知道,我很難搞清楚我該如何去做這件事。任何建議?

回答

1

像這樣的東西應該工作。

SELECT SUM(Table1.vote) as votes, Table2.* FROM Table2    
    LEFT JOIN Table1 ON Table1.itemid=Table2.itemid     
    WHERE Table1.`time`>=DATE_SUB(Table1.`time`, INTERVAL 24 HOUR) 
GROUP BY Table1.itemid            
ORDER BY Table1.votes DESC 
+0

很確定這是它!謝謝! – sanders4069 2011-05-31 17:39:32