gpt4 book ai didi

sql - SUM()函数sql有上限

转载 作者:行者123 更新时间:2023-12-04 16:03:42 25 4
gpt4 key购买 nike

我在 SQL 查询的 select 语句中做了一个小计算:

SELECT 
(select sum(weighting)
from table1
where id = tablemain.id) *
(select sum(weighting)
from table2
where id = tablemain.id) as rating
from
tablemain

我遇到的问题是这些 SUM 值之一的上限应该是 8,例如如果权重列的 SUM 达到 10,则它应该只乘以 8。

有没有人知道如何在 select 语句中完成此操作,或者它是否可行?

谢谢

最佳答案

您可以尝试使用 case 语句。我什至会选择 CTE 中的值来简化代码,但原理是一样的。

SELECT  
(select CASE WHEN sum(weighting) > 8 THEN 8 ELSE sum(weighting) END
from table1
where id = tablemain.id) *
(select CASE WHEN sum(weighting) > 8 THEN 8 ELSE sum(weighting) END
from table2
where id = tablemain.id) as rating
from
tablemain

关于sql - SUM()函数sql有上限,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/8417351/

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