MYSQL JOIN同表,合并空字段求和

标签 mysql join

我有两行属于同一采购订单。 正如您在下面看到的,佣金和 sales_value 没有合并到一行中。这些数据是我们从外部接收的,无法更改。

我已经尝试了大约一周的时间来获得正确的查询,不幸的是没有得到我预期的结果

+--------+-------------+------------+-------+
|   PO   | sales_value | commission | total |
+--------+-------------+------------+-------+
| XXXXXX |             |      -1.60 | -1.60 |
| XXXXXX |       28.89 |            | 28.89 |
+--------+-------------+------------+-------+

我尝试创建一个查询以获得以下结果:

+--------+-------------+------------+-------+
|   PO   | sales_value | commission | total |
+--------+-------------+------------+-------+
| XXXXXX |       28.89 |      -1.60 | 27.29 |
+--------+-------------+------------+-------+

它应该将佣金移动到第二行的空佣金字段并且它应该将总金额加在一起。这样我们就可以正确地使用这些信息。

结合MySQL的join功能,我尝试了很多可能性。 不幸的是,我无法展示我的尝试,因为我没有保存测试查询。

最佳答案

您需要将 GROUP BYSUM() 一起使用聚合,以便将特定 PO 的所有行合并为一个:

SELECT
  PO,
  SUM(sales_value) AS sales_value, 
  SUM(commission) AS commission, 
  SUM(sales_value) + SUM(commission) AS total
FROM your_table_name -- <- use your table name here
GROUP BY PO

关于MYSQL JOIN同表,合并空字段求和,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/52893225/

相关文章:

MYSQL:获取一个特定属性小于其他几个属性的行

c# - 如何在 Linq 上获得左连接

python - 连接两个 Pandas 数据框并重新排序列

java - 这个mysql查询是对还是错?

用于记录 PPC AD 日常性能的 MySQL DB 架构

mysql - 有没有办法更新表上的字段并影响另一个表上的另一个字段?

c# - 将数据网格的选定行加载到标签

mysql - 如何从 MySQL 中其他 2 个表生成的表中获取平均值?

mysql - 在 MySQL 中,如何以最有效的方式编写此 SQL 查询?

python pandas数据框groupby或pivot_table