gpt4 book ai didi

mysql - SQL 中的计算(相加)

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

不同列的值为1时,每列加10分。
要求将累加的结果汇总到表格的一列中。但总分不得超过20分。因此,如果总和达到 30,列中的结果将始终为 20。

SELECT 
CASE
WHEN paint.is_weak = 1
THEN 10
ELSE 0
END
+
CASE
WHEN paint.is_low = 1
THEN 10
ELSE 0
END
+
CASE
WHEN paint.is_hi = 'red'
THEN 10
ELSE 0
END
from PAINT;

我如何确保总和不超过 20,是否有可能在 SQL 中定义变量。

最佳答案

select least(((is_weak = 1) + (is_low = 1) + (is_hi = 1)) * 10, 20)
from paint

顺便说一句,是的,你可以在 MySQL 中拥有变量。您可以使用这样的子查询直接在查询中定义一个

select t.*, @your_var := @your_var + 1
from your_table t
cross join (select @your_var := 0) v

关于mysql - SQL 中的计算(相加),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/33977376/

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