Oracle中的SQL查询语句:根据同一张表中的某一字段的不同条件分别求另一字段的和。

说白了,这个SQL统计部门正负分的要点就是利用了代码过滤;但是,必须注意效率。
我们先来说说最重要的事情。
对每一行都执行解码。
去年,当我运行一个包含数百万数据的项目时。
这个写作过程需要半个小时。
但使用 case 在 CPU 上分配可以使其速度提高 3 0%。

还有一点是部门术语必须在合计之前输入。
我去年尝试过考试,结果发现成绩不对劲。
我调试了很长时间才发现这个隐藏的漏洞。
还有一个更重要的细节。
例如,如果“正负”列为“Y”或“N”;该代码将计算错误,必须输入默认值。
当时我们使用代码(正负,'Y',分数,0)。
如果没有输入默认值。
它将计算为 null 值并返回 0;这显然是错误的。

我认为一开始使用案例会很慢,因为我不明白优化文档。
然后我意识到我错了。
甲骨文可以不断地敲门求证。
很多人并不关心这个。
说实话,当时挺混乱的,不过很快就切换过来了。

特别是当数量很大时,不要忘记用 null 来订购。
我认为这个SQL值得一试,但是先尝试一下。

如何统计sql表中名字相同字段的成绩总和

结论:SQL统计结果与姓名和分数之和相同,先SUM分数,然后GROUP BY姓名,最后排序ORDER BY总分DESC。

示例:在group tableName中选择sum(score)作为总分,按名称排序,按总分desc排序;
注意:为了优化大表,可以考虑添加索引。
SQL 语法可能因数据库而异。

sql语句如何把查询结果中某一字段相同的列的另一字段值相加 应该怎么写

老实说,我曾经使用 Management Studio 来运行 SQL。
我在XX咨询工作时经常这样做。
记得有一次给甲方做一个项目,客户的数据库非常混乱,有很多不同的历史表,最后我们只能依靠SQL来获取数据。
基本上我可以做你提到的步骤。

但是我有一个小建议,就是在第3 步的SQL语句中,你写的“SELECT sum(BonusPenaltyMoney) FROM mySGBonusPenalty group by SGProjectNo”其实是一种常见的写法。
但实际操作取决于你的表结构。
比如我上次遇到的一个案例。
表“mySGBonusPenalty”中有一个名为“Status”的字段。
如果不添加条件,分组时可能会出现错误。
此时,我添加了“WHERE Status='Active'”以使其正确。

还有一个细节。
执行SQL后,结果将默认显示在Management Studio中。
但有时客户希望按项目编号(SGProjectNo)排序。
在这种情况下,必须将“ORDER BY SGProjectNo”添加到 SQL 中。
记得有一次,我给财务部做报告,他们坚持要从上到下审核。
困惑了好久,最后改了ORDER WITH才打通。

您提到的“在具有相同字段的列中显示另一个字段的总值”实际上是一种很常见的情况。
但具体来说SQL,如何计算“附加值”取决于需求。
我应该添加“BonusPenaltyMoney”字段吗?或者添加其他字段?例如,当我遇到一个请求时,客户想要计算每个项目的“奖金+罚金”总计。
此时,我将 SQL 更改为“SELECT sum(Bonus+Penalty) as Total FROM group mySGBonusPenalty of SGProjectNo”。

归根结底,操作本身并不难,但是如果真想达到客户想要的结果,就得考虑表中的具体字段,哪些字段可以添加,哪些字段不能添加。
这是一项不能操之过急的工作。