mysql - 动态卡芒贝尔奶酪

标签 mysql sql oracle oracle11g oracle10g

我想创建一个动态的camamebrt,在其中我将使用sql代码来获取百分比。我有一张 table ,其中有:

  Montant  |  libelle | Bureau  
|   20     |    A1    |   B1    |
|   30     |    A2    |   B2    |
|   70     |    A1    |   B2    |
|   80     |    A2    |   B1    |
<小时/>

在我的卡门贝尔奶酪中,我有一个过滤器,我可以从中选择“Bureau”列的值:

因此,当我选择 B1 值时,我会得到一个带有以下内容的卡门:
对于局 1:20% A1 和 80% A2

当我选择“所有局”来获取所有局的统计数据时,我得到:
对于所有局:50% A1 和 50% a2。

我正在使用此查询:

select (sum(MONTANT) / (select  sum(MONTANT) from table1)) 
from table1 
where id_bureau= "the value of filtre" 
group by libelle;

当我从过滤器中选择所有局时,这是有效的,但是当我只想显示一个“局”的百分比时,我得到了错误的值。

最佳答案

您应该只对匹配值求和。 Bureau = 'B1' 如果为真则为 1,如果为假则为 0。

 select libelle, sum(montant * (Bureau = 'B1')) / sum(Bureau)
 from table1
 group by libelle

给出每一个诽谤的部分内容。

这就是你想要的吗?

关于mysql - 动态卡芒贝尔奶酪,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/32657460/

相关文章:

sql - 在 T-SQL 中组合存储过程和查询

sql - 如何迭代 PL/SQL 中的日期范围

SQL查询以选择字段值出现N次或更多次的所有行?

mysql - 如何搜索多个多边形内相交的所有点?

mysql - SQL - 是否可以替换 uuid 主键中的值?

SQL 通过列表在两列之间选择值

java - Oracle 1.8 CachedRowSet.populate 错误,其中从双选择 systimestamp

python2.7类型错误: not all arguments converted during string formatting

php - 如何通过命令行在服务器上运行php脚本

python - 在 Pandas to_sql 中指定模式