具有条件的My Sql中的行的总和

时间:2012-09-14 17:45:37

标签: mysql sum

我的数据

ID       SCORE
 1        55
 1        -1
 1        25
 1        -1
 1        -1
 1        35
 2        25
 2        -1 
 2        65
 2        55
 2        21
 2        -1

现在我想添加/总结每个id忽略-1的分数,我正在尝试使用这个无效的代码

SELECT SUM(CASE when SCORE>-1 THEN SUM(SCORE) ELSE 0 END) 
FROM jbit WHERE htno='$id'

这里我已经在使用WHERE了,我怎么能使用另一个WHERE,如果我在单个查询中使用多个Where它可能影响其他进程..请帮帮我

帮助我的朋友

3 个答案:

答案 0 :(得分:0)

SELECT SUM(score) AS score_sum
FROM jbit 
WHERE htno='$id'
  AND score <> -1 ;

答案 1 :(得分:0)

SELECT SUM(`SCORE`)
FROM `jbit`
WHERE `htno` = '$id'
    `SCORE` > 0;

但是,如果'$id'的列类型为$id,我建议您将htno更改为INTEGER

答案 2 :(得分:-1)

SELECT SUM(score) FROM <tablename> WHERE score != -1