2014-10-10 6 views
0

мой запрос получать о/р, как этотSQL-запрос, чтобы получить сумму значения строки

partyname bjp  aap   congress 

votes  1  2    2   

, но я также нужна сумма ряда. ниже мой ожидаемый результат.

все парные имена и голоса поступают из базы данных и динамичны.

экс

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

+0

Namrehs вам нужно объяснить вещи немного, не просто выбросить код – meda

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

Смежные вопросы