SQL获取一列的总和和不同列的总和与一个查询中的位置?

时间:2017-02-23 23:41:48

标签: mysql

这是我的表

| value  | count | type |
|   5    |  2    | Bike |
|   5    |  2    | Bike |
|   5    |  1    | Car  |
|   2    |  3    | Car  |

我试图得到count = 5的计数列的总和。

然后在同一个查询中获取count列的总和,其中value = 5并输入= Bike。

所以结果应该是:

5为第一笔金额

4为第二笔

这可以在一个查询中使用吗?

2 个答案:

答案 0 :(得分:2)

您可以使用条件聚合在一个查询中执行此操作。

select 
 sum(case when value=5 then count else 0 end) as sum_1
,sum(case when value=5 and type='Bike' then count else 0 end) as sum_2
from yourtable

答案 1 :(得分:-2)

for mysql

    select sum(count) from table where value = 5;

select sum(count) from table where value = 5 and Type like 'bike';