2011-08-18 80 views
0

所以我試圖計算這個基於子查詢排序結果的mysql查詢。Mysql連接計算

表設計

Reports 
-------- 
report_id 
title 

Voting 
-------- 
report_id 
user_id 
vote_id //This can be 1-6 

所以我正在尋找的報告表,但要包括vote_id的上一個連接的百分比。

因爲vote_id可以是不同的類型,所以我需要計算與其他投票相比的出現百分比,然後按該百分比排序。

示例1 - 報告1有四票(vote_id的1,1,2,3),所以如果我在搜索vote_id 1,它會出現50%。

示例2 - 如果我正在搜索vote_id 3,它會出現25%。

+0

什麼是vote_id?您的「表格設計」中沒有這樣的字段。 – nobody

+0

vote_id將連接到另一個表來檢索vote_name,vote_description。投票可以是'有趣','無聊','準確','真' - 即(1,2,3,4) – bluedaniel

+0

對不起剛纔意識到我把vote_int而不是vote_id – bluedaniel

回答

0
SELECT vote_id, 
    (COUNT(*)/(SELECT COUNT(*) FROM Voting WHERE report_id = 1)) * 100 AS percentage 
    FROM Voting WHERE report_id = 1 
    GROUP BY vote_id 

這給出了報告1中所有vote_id與相應百分比的列表。

+0

這會工作在聯接查詢,但?在搜索所有報告和按百分比vote_id 1的順序? – bluedaniel