我正在尝试获取被另一列筛选的列的总和(该列的不同值)。我尝试过"分组"、"不同"、"带汇总"和许多其他变体。我有一堆显示客户链接的专栏。大多数服务都有冗余的一面,尽管有些服务没有冗余。我试图获得整个"fnn"列的带宽总数,但如果存在冗余边值,则排除该值。如果存在冗余,则它将通过具有相同的fnn(和相同的带宽值)来指示。
我已经为此奋斗了很长时间。任何帮助都将是美妙的。mysql或php中的解决方案。
我的桌子看起来像:
table name = cust_child
id | cust_name |cp_bw|cp_fnn |other_columns
1 | A | 30 | 11 |xxx
2 | A | 30 | 11 |xxx
3 | B |100 | 22 |xxx
4 | B |100 | 22 |xxx
5 | C |50 | 33 |xxx
Result should look like:
Total bandwidth = 180
SELECT SUM(c.cp_bw) AS bandwith
FROM cust_child c
INNER JOIN (
SELECT c.id
FROM cust_child c
GROUP BY c.cp_fnn
) t1 ON (t1.id = c.id)
http://sqlfiddle.com/#!2/01219/1