首页 > 解决方案 > 用于计算同一列值百分比的 SQL

问题描述

用于计算另一列中某个条件的一列中的值的总和(对于第 2 列中的某个值的第 1 列中的值的总和)并计算第 1 列中所有值的总和(所有值的总和)的 SQL 是什么在第 1 列中)并将百分比计算为(第 1 列中的值总和对于第 2 列中的某个值/第 1 列中所有值的总和)*100?

我有两列 A 和 B。

A 具有值 (1,2,3,4) 和

B 的值为 (1,0,1,0)。

1)第 1 列中的值总和对于第 2 列中的某个值意味着

我必须找到A中所有值的总和,其中B的值为1(1,3),即(4)和

2)第1列中所有值的总和意味着

A 的所有值的总和(即 10)。

3)计算百分比为(第1列中的值总和对于第2列中的某个值/第1列中所有值的总和)*100表示

((1)/(2))*100 在这种情况下是 (4/10)*100=(40%)。

标签: phpsql

解决方案


select sum(case when Column2 = 'somevalue' then Column1 else 0 end) * 100 / sum(Column1) from NAMES;

看到这个: -

选择具有特定值的行的百分比 - SQL


推荐阅读