Как сложить три поля в одной таблице в MySQL - PullRequest
0 голосов
/ 19 августа 2011

У меня есть таблица с полями, и я хочу суммировать данные из трех разных полей, как показано ниже.Я сделал код, как следует, но есть ошибка.Поэтому, пожалуйста, помогите мне сделать правильный код:

    <?php include "config.php"; ?> 
    <?php $results = mysql_query
("SELECT sum(hit),as total from ( 
select hit from sound union 
select hit from soundK union 
select hit from soundD ") ; 
while ( $row = mysql_fetch_array($results) ) 
{ ?> 
<?php echo $row[total];?> <?php }?> 

, поэтому, пожалуйста, помогите как можно скорее

заранее спасибо

Ответы [ 2 ]

1 голос
/ 19 августа 2011

У вас есть дополнительный ,, отсутствует закрывающий ) и псевдоним производной таблицы:

<?php include "config.php"; ?> 
<?php $results = mysql_query(
    "SELECT sum(hit) as total 
    FROM ( 
        SELECT sum(hit) hit from sound 
        UNION ALL SELECT sum(hit) hit from soundK 
        UNION ALL SELECT sum(hit) hit from soundD 
    ) rs") ; 
while ( $row = mysql_fetch_array($results) ) { ?> 
    <?php echo $row['total'];?>
<?php }?> 

Если вы хотите 3 отдельных столбца:

<?php include "config.php"; ?> 
<?php $results = mysql_query(
    "SELECT soundHits, soundKHits, soundDHits
    FROM ( 
        SELECT sum(hit) soundHits from sound
    ) a, (
        SELECT sum(hit) soundKHits from soundK
    ) b, ( 
        SELECT sum(hit) soundDHits from soundD 
    ) c") ; 
while ( $row = mysql_fetch_array($results) ) { ?> 
    soundHits: <?php echo $row['soundHits'] ;?>
    soundKHits: <?php echo $row['soundKHits'] ;?>
    soundDHits: <?php echo $row['soundDHits'] ;?>
<?php }?> 
0 голосов
/ 19 августа 2011

Или ...

select (
    (select sum(hit) from sound) +
    (select sum(hit) from soundK) +
    (select sum(hit) from soundD)) 
...