gpt4 book ai didi

mysql - 通过mysql完成减法

转载 作者:行者123 更新时间:2023-11-29 07:28:11 25 4
gpt4 key购买 nike

我有下面提到的名为 myData1 的表

ID   Value
1 150
2 120
3 100

我可以使用以下查询获取最后两个值:

SELECT value from myData1 order by ID desc limit 2;

我需要得到这两个值的减法总和(在这个结果集中结果应该是100-120==> -20

感谢是否有人可以帮助获得这个结果

最佳答案

方法一

尝试( DB Fiddle DEMO #1 ):

SELECT dt.last_value - dt.second_last_value 
FROM
(
SELECT
t1.Value as last_value,
(SELECT t2.Value
FROM myData1 AS t2
WHERE t2.ID < t1.ID
ORDER BY t2.ID DESC LIMIT 1) AS second_last_value
FROM myData1 AS t1
ORDER BY t1.ID DESC LIMIT 1
) AS dt

方法二

  • 分成两个不同的选择查询;使用 LimitOffset。对于最后一项,使用系数 1。对于倒数第二个,使用 -1 的因子。
  • 使用 UNION ALL 将这些结果组合成 Derived Table .
  • 最后,使用各个因素对值求和。

您可以执行以下操作 ( DB Fiddle DEMO #2 ):

SELECT SUM(dt.factor * dt.Value) 
FROM
(
(SELECT Value, 1 AS factor
FROM myData1
ORDER BY ID DESC LIMIT 0,1)

UNION ALL

(SELECT Value, -1 AS factor
FROM myData1
ORDER BY ID DESC LIMIT 1,1)
) AS dt

关于mysql - 通过mysql完成减法,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/52841090/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com