gpt4 book ai didi

mysql - 对行的子集进行操作并将结果存储在不同的表中 - mySQL

转载 作者:行者123 更新时间:2023-11-30 22:17:45 25 4
gpt4 key购买 nike

我有一张表,目前存储着经纬度等信息。该表还存储同一用户的多个记录(即同一行)但存储不同的值(即我们有重复的行但在它们的列中具有不同的值)。我正在尝试获取同一用户的所有记录的平均值(即存储在重复行中的所有值的平均值)并将结果值存储在不同表中的单个唯一行中。

原始表的结构(OldTable)如下:

           creatorId        longitude   latitude    dutyCycleLevel
:ID[giA0CqQcx+(9kbuSKV== -106.58341 52.115345 -3712
lXB+jIS)DN!CXmj>0(P8^]== -106.6113 52.084724 -3480
lXB+jIS)DN!CXmj>0(P8^]== -106.610886 52.084927 -3480
lXB+jIS)DN!CXmj>0(P8^]== -106.61092 52.084885 -3480

新表的结构 (NewTable) 如下:

           creatorId    latitude    longitude   DutyCycle
:ID[giA0CqQcx+(9kbuSKV== NULL NULL -3712
lXB+jIS)DN!CXmj>0(P8^]== NULL NULL -3481
lXB+jIS)DN!CXmj>0(P8^]== NULL NULL -3480

您可能会注意到,我仍然有一个重复的 creatorId 字段。那是因为我存储的值基于不同的 DutyCycle 值。

这是我尝试使用但未提供所需结果的脚本:

insert into db.NewTable(latitude)
select AVG(oldTable.latitude) from db.oldTable
inner join NewTable on NewTable.dutyCycle = oldTable.dutyCycleLevel
group by dutyCycleLevel

正如我所提到的,我正在尝试为每个独特的工作周期获取平均纬度(在原始表中可以注意到)并将其作为独特的平均值存储在与原始表相同的行中的 NewTable 中(即相同的 dutyCycle 行)。

有什么建议吗?

最佳答案

如果要更新新表

update NewTable
inner join OldTable on NewTabl.eCreatorId = OldTable.CreatorId
set latitude = avg(OldTable.latitude)
group by OldTable.latitutude;

如果你想从头开始插入

insert into db.NewTable(creatorId, longitude, latitude, dutyCycleLevel)
select creatorId, AVG(longitude), AVGlatitude), dutyCycleLevel
from db.oldTable
group by creatorId, dutyCycleLevel

关于mysql - 对行的子集进行操作并将结果存储在不同的表中 - mySQL,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/37683995/

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