mySQL在两行值之间进行减法运算
我想找出一个简单的方法,在两行值之间进行减法mySQL在两行值之间进行减法运算,mysql,Mysql,我想找出一个简单的方法,在两行值之间进行减法 Num_groupe | num_lot | num_secti | ship_date | qte_1 | qte_2 | qte_3 | qte_4 Instock | D2312 | 01 | 12-juin | 10 | 30 | 10 | 10 Instock | D2312 | 09 | 12-juin | 8 | 4
Num_groupe | num_lot | num_secti | ship_date | qte_1 | qte_2 | qte_3 | qte_4
Instock | D2312 | 01 | 12-juin | 10 | 30 | 10 | 10
Instock | D2312 | 09 | 12-juin | 8 | 4 | 6 | 4
Instock | C7788 | 01 | 18-sept | 30 | 10 | 25 | 25
Instock | C7788 | 09 | 18-sept | 5 | 8 | 5 | 8
Instock | W3300 | 01 | 11-déc | 10 | 25 | 30 | 10
Instock | W3300 | 09 | 11-déc | 5 | 4 | 5 | 8
Instock | Q1234 | 01 | 03-févr | 10 | 25 | 10 | 30
Instock | Q1234 | 09 | 03-févr | 6 | 5 | 8 | 5
每个num_批次
都有一个num_部分
01和09,现在我想在每个部分批次之间减去“数量值”
前
预期结果:
Num_groupe | num_lot | num_secti | ship_date | qte_1 | qte_2 | qte_3 | qte_4
Instock | D2312 | 01 | 12-juin | 2 | 26 | 6 | 6
Instock | C7788 | 01 | 18-sept | 25 | 2 | 20 | 7
有什么建议吗?合并苏米夫?我被困在这里了
谢谢各位,
GC我认为如果的话,
求和就可以完成这项任务。从这个示例中,我认为您希望将num_secti
为9
的值与1
的值相减。请尝试以下查询:
SELECT
Num_groupe,
num_lot,
ship_date,
SUM( IF(num_secti = 1, qte_1, -1 * qte_1) ) AS qte_1,
SUM( IF(num_secti = 1, qte_2, -1 * qte_2) ) AS qte_2,
SUM( IF(num_secti = 1, qte_3, -1 * qte_3) ) AS qte_3,
SUM( IF(num_secti = 1, qte_4, -1 * qte_4) ) AS qte_4
FROM <your table name>
GROUP BY num_lot
选择
Num_群,
数量,
装船日期,
求和(如果(num_secti=1,qte_1,-1*qte_1))作为qte_1,
求和(如果(num_secti=1,qte_2,-1*qte_2))作为qte_2,
求和(如果(num_secti=1,qte_3,-1*qte_3))作为qte_3,
求和(如果(num_secti=1,qte_4,-1*qte_4))作为qte_4
从…起
按数量分组
以下是您示例中的小提琴:
SELECT
Num_groupe,
num_lot,
ship_date,
SUM( IF(num_secti = 1, qte_1, -1 * qte_1) ) AS qte_1,
SUM( IF(num_secti = 1, qte_2, -1 * qte_2) ) AS qte_2,
SUM( IF(num_secti = 1, qte_3, -1 * qte_3) ) AS qte_3,
SUM( IF(num_secti = 1, qte_4, -1 * qte_4) ) AS qte_4
FROM <your table name>
GROUP BY num_lot