2014-10-10 39 views
0

我的查詢得到O/P這樣SQL查詢來獲取行值的總和

partyname bjp  aap   congress 

votes  1  2    2   

但我也需要排的總和。以下是我的預期產出。

所有partyname和選票來自數據庫,它是動態的。

爲前

BJP   aap   congress  total 

    1    2   2    5 


<?php     
$sqltoatl = "SELECT RES.PARTYNAME, COUNT(RES.CONSTITUENCY) 
    AS VOTESCOUNT FROM voter_count RES JOIN (SELECT CONSTITUENCY, MAX(VOTES) 
    AS VOTES FROM voter_count GROUP BY CONSTITUENCY)MAXS USING (VOTES, CONSTITUENCY) 
    GROUP BY PARTYNAME LIMIT 0 , 1000"; 

$resulttoatl = mysql_query($sqltoatl); 

while ($rowtoatl = mysql_fetch_array($resulttoatl,MYSQL_ASSOC)) { 
?> 

<th><?php echo $rowtoatl['PARTYNAME']; ?></th>  
<td><?php echo $rowtoatl['VOTESCOUNT']; ?></td> 
<?php } ?> 

回答

0

像這樣的東西應該爲你工作:

SELECT p.partyId, p.partyName, COUNT(IFNULL(v.bjp,0)) bjpTotal, COUNT(IFNULL(v.aap,0)) aapTotal, COUNT(IFNULL(v.congress,0)) congressTotal, 
     (COUNT(IFNULL(v.bjp,0)) + COUNT(IFNULL(v.aap,0)) + COUNT(IFNULL(v.congress,0))) partyTotal 
FROM parties p 
LEFT JOIN votes v 
    ON p.partyId = v.partyId 
GROUP BY p.partyId, p.partyName 
+0

先生,但是我partyname沒有修復它來自不同的數據庫,也選票來自數據庫 – user3800772 2014-10-10 16:05:43

+0

Namrehs你需要解釋的東西一點點,不要隨便扔out代碼 – meda 2014-10-10 16:48:00

1

不知道你的數據庫架構我不太瞭解複雜的投票計算你的理由這樣做。

也許我失去了一些東西,但如果你想要的是一個數每方和總票數的話,也許這樣的事情是你想要的嗎?

SELECT PARTYNAME, SUM(votes) AS VOTES FROM voter_count GROUP BY Partyname 
UNION ALL 
SELECT 'Total', SUM(VOTES) AS VOTES FROM voter_count; 

它可能看起來像這樣SQL Fiddle