【发布时间】:2022-09-27 19:13:03
【问题描述】:
更详细的问题。我有一个名为 CALCS 的表,其结构: code 是记录标识符(不是唯一的) value1、value2、value3、value4 是要求和的不同值 价格是工作成本 我必须为所有记录返回 price+value1+value2+value3+value4。如果有重复记录(相同代码的 2 次,而不是更多次),我需要一个名为 value5 或计算值的新列,其负值为 1,并且必须出现在总和中。记录示例:
code value1 value2 value3 value4 price
001579 93,1 0 0 0 280
001585 83,13 0 0 0 250
001592 250 0 0 0 500
001592 50 0 0 0 500
001593 84 0 0 33 240
唯一的记录重复是代码 001592。我需要的结果是:
code value1 value2 value3 value4 price total
001579 93,1 0 0 0 280 373,1
001585 83,13 0 0 0 250 333,13
001592 250 0 0 0 500 800 (first row values + value 1 of second row)
001593 84 0 0 33 240 357
谢谢,
-
代码是否只有 2 个值?
-
800的总数是怎么计算的?您是否将 250 和 50 的总和添加到第一行的价格中?
-
总共800是第二行同码(001592)的value1(250)+value2(0)+value3(0)+value4(0)+price(500)+value1(50)之和
-
无法根据已发布的示例数据识别第一行和第二行,因此您的要求是不可能的。此外,这与原始问题如此不同,为了您的利益,您应该删除并提出新问题,因为如果发布了许多答案,观众可能会简单地忽略。
-
我在对我的回答的评论中指出,您实际上使用的是 mariadb 而不是 mysql - 这两种方言不一样,您应该标记 mariadb。
标签: mysql mariadb virtual-column