【问题标题】:MySQL Sum Query Based on Same Row Value基于同一行值的 MySQL Sum 查询
【发布时间】:2021-09-20 03:32:05
【问题描述】:

我想根据相同的行值计算总和,但是由于其他行的值不同,我不知道该怎么做。 enter image description here

假设表格如下:

City           ID    Date          Lic.Plate    No.Order        Dest.    Fee1      Fee2         Fee3        Fee4       Fee5      Fee6      Total
    SUKABUMI    6   2021-09-16      B-9944-FXR  ORD-00005       BANDUNG  1000000   120000.00    0.00        0.00        0.00    0.00    120000.00
    CIANJUR     6   2021-09-16      B-9944-FXR  ORD-00005       BANDUNG  1000000   1500000.00   100000.00   50000.00    0.00    0.00    1650000.00
    BOGOR       7   2021-09-16      B-9944-FXR  ORD-00006       BANDUNG  700000         0.00    100000.00   0.00        0.00    0.00    100000.00
    BOGOR       7   2021-09-16      B-9944-FXR  ORD-00006       BANDUNG  700000         0.00    100000.00   50000.00    0.00    0.00    150000.00

现在,我真正想要的是显示它应该值 Fee1+Fee2+Fee3+Fee4+Fee5+Fee6 的总和,结果应该是 1.770.000,因为第 1 行和第 2 行的 [No.命令] 而第 3 行和第 4 行的总数应为 250.000,因为 [No.Order] 具有相同的值。

这是我的查询:

SELECT City
      ,ID
      ,Date
      ,Lic.Plate
      ,No.Order
      ,Dest
      ,Fee1
      ,Fee2
      ,Fee3
      ,Fee4
      ,Fee5
      ,Fee6
      ,SUM(Fee1+Fee2+Fee3+Fee+Fee5+Fee6) AS total 
FROM tborder 
  INNER JOIN tbmobil on tbmobil.idmobil=tborder.idmobil    
  INNER JOIN tbsj ON tbsj.noorder=tborder.noorder 
  INNER JOIN tbinvdet on tbsj.idsj=tbinvdet.idsj 
  LEFT  JOIN tbso ON tbso.idsj=tbsj.idsj   
GROUP BY No.Order, City

有人可以帮我解决这个问题吗? 非常感谢

【问题讨论】:

  • 结果如何变成 1.770.000 和 250.000?
  • 第 1 行和第 2 行应显示 1.770.000,因为 1.650 + 120(由于相同的 No.Order),第 3、第 4 行应显示 250.000 由于相同的 No.Order 列值。为什么我需要这个?因为在报告 devexpress 中,行中的相同值将被合并为重复值

标签: mysql sum


【解决方案1】:

你需要一个连接来计算这个 按订单号进行分组。和 sum(fees1+fees2+... ),在第一种情况下这会给你 1770,000 现在按照订单号将其与您的主表连接起来。

Select a.*, b.result from
tborder a
left join
(Select order, sum(fees1+fees2+...) result from tborder
Group by order) b
On a.order=b.order

【讨论】:

  • 任何见解如何在我的查询中实现?
  • 正如目前所写,您的答案尚不清楚。请edit 添加其他详细信息,以帮助其他人了解这如何解决所提出的问题。你可以找到更多关于如何写好答案的信息in the help center
  • 已更新查询
猜你喜欢
  • 1970-01-01
  • 2015-10-14
  • 1970-01-01
  • 1970-01-01
  • 2011-04-10
  • 2011-01-27
  • 1970-01-01
相关资源
最近更新 更多