SQL 求和 ,重复的只加一次

例如:
name,num
a, 1
a, 1
a, 1
b, 2
b, 2
c, 3

对上面的六个数据去掉重复的求和 ,
实际上是
a, 1
b, 2
c, 3
的求和

sql怎么写?

第1个回答  2012-06-16
select name,sum(num) from (select disinct name,num from tab) group by name追问

$sql = " select name,sum(num) from (select disinct name,num from tab) group by name ";

下面怎么把 这个和 打印出来呢?PHP的

(这个表里面不止name,num两个字段,还有其他字段,需要写进sql吗?)

追答

不能写其它字段,PHP一般是这样:
$db=mysql_connect('127.0.0.1',' root','123456');//你需要修改数据库服务器地址、用户、密码
if ($db){
$sql='.....';//学入查询语句,如果想省略数据库名,需要先执行选择数据库的语句mysql_selectdb
if($res=mysql_query($sql)){
while ($row=mysql_fetch_row($res)) echo "$row[0],$row[1]";
mysql_free_result($res);
}else echo "数据查询失败:$sql错误:".mysql_error();
mysql_close($db);
}else echo '数据库链接失败:'.mysql_error();

本回答被网友采纳
第2个回答  2012-06-16
SELECT DISTINCT name, SUM(num)
FROM 表名
GROUP BY name
第3个回答  2012-06-16
select sum(num) from (select distinct name, num from t);追问

下面怎么把 这个和 打印出来呢?PHP的

(这个表里面不止name,num两个字段,还有其他字段,需要写进sql吗?)

相似回答