sql - SQL查询列信息计数

标签 sql count

将MySQL 5与表“ abrechnung”一起使用

id   datum     title   betrag  wal jon  al  ben
7   2010-02-08  Essen   1362     0   0   1   0
8   2010-02-15  Essen   324      0   0   1   2
9   2010-02-15  Essen   5732     0   0   1   2
10  2010-02-15  Essen   3245     0   2   1   2 


我最后想要的是:每行“ betrag”都用数字除,然后添加到最终结果中。被除以的数字是4-当前行中2的数量。

我当前的方法如下:

SELECT SUM(betrag) AS "W->A" FROM abrechnung WHERE (wal = "0" and al = "1");


这基本上选择了我想要添加到最终结果中的条目。在这种情况下的结果:10663。

实际上,最终结果将是:

  1362 / 4 (no number 2 in that row for wal, jon, al or ben)
+  324 / 3 (there is one 2 in that row for ben)
+ 5732 / 3 (same)
+ 3245 / 2 (there are 2 2's in that row)
-----------
  3 981.66


我希望这很容易理解。

谢谢。

最佳答案

SELECT SUM(betrag / (
 4-CASE WHEN wal = 2 THEN 1 ELSE 0 END
  -CASE WHEN jon = 2 THEN 1 ELSE 0 END
  -CASE WHEN al  = 2 THEN 1 ELSE 0 END
  -CASE WHEN ben = 2 THEN 1 ELSE 0 END
))
AS "W->A" FROM abrechnung 

关于sql - SQL查询列信息计数,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/2691408/

相关文章:

php - 如何在不同的表上选择相应的数据?

php - SQL SELECT 语句从具有外键和关联关系的多个表中提取数据

javascript - 如何有效地计算 JavaScript 中对象的键/属性的数量

linux - 计算纯文本文件中字符的出现次数

使用 Count 的 SQL,在同一单元格中多次出现相同的 "Like"

用于从相同表中搜索的 mysql 存储过程

sql - xlock、rowlock、holdlock 是否正确?

sql - 在没有检查约束的情况下更改列长度

php - 无法让mysql查询同时输出用户和计数

r - 基于具有重复行的两列计算唯一值,R 数据框