gpt4 book ai didi

sql - 相同的值显示为三个值

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

我的数据库中有列 (Builder),我想更新它的三个值并使其成为一个值,因为它完全相同,但我们的数据源将它分开处理。我不知道即使在更新语句之后,数据库仍然将它们视为单独的值的困境是什么。我的数据源总共显示 5 行,我的数据库也是如此。我该怎么做才能将它们视为一个单一的值而不是三个?

select * from traffic

Builder Contacts

Small Brother 0
Big Brother 8
Brother 10
Neighbor 7
Friend 5

我更新了表中的值:

update traffic set Builder = 'Brothers' WHERE Builder in ('Brother',
'Big Brother','Small Brother') ;

当我做的时候

select distinct Builder from traffic

Builder

Brothers
Neighbor
Friend

它显示为一个值为 'Brothers' 表示更新语句执行成功。

令人惊讶的是,当我运行时

 select * from traffic

Builder Contacts

Brothers 0
Brothers 8
Brothers 10
Neighbor 7
Friend 5

当我应用聚合函数时:

select Builder, sum(Contacts)
from traffic
group by Builder, Contacts

Builder Sum
Brothers 8
Brothers 10
Neighbor 7
Friend 5

我需要帮助的结果:

select * from traffic

Builder Contacts

Brothers 18
Neighbor 7
Friend 5

最佳答案

SELECT * FROM traffic

将为您提供流量表中的每一列和每一行。因为您刚刚将其中 3 行更新为“Brother”,所以您得到的正是这个结果。为了得到你想要的结果,你需要使用

GROUP BY

子句和聚合子句。

有点像

SELECT Builder, SUM(Contacts) 
FROM traffic
GROUP BY Builder

这实际上告诉数据库首先按构建者分组,这将去除重复项,然后选择所有联系人的计数。 SELECT 语句在数据库中最后运行。

关于sql - 相同的值显示为三个值,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/41490247/

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