sql - 如何使用查询结果更新空表
问题描述
我有一个表名平均评分。我想用这个查询的结果更新我的表名最终评级
select spid,AVG(avgRat) from AvgRating group by spid
我怎样才能做到这一点?
解决方案
INSERT IGNORE INTO FinalRating (select spid,AVG(avgRat) from AvgRating group by spid)
如果您想避免重复,请确保 spid 在另一张表上是唯一的应该可以工作
如果你想更新,你必须按照这些方式加入
UPDATE FinalRating TA
INNER JOIN (select spid,AVG(avgRate) avg from AvgRating group by spid) as TB
ON TA.spid = TB.spid
SET TA.spid=TB.spid, TA.rating=TB.avg
编辑: 现在已经检查了这个并且应该工作得很好,如果行已经存在并且 Finalrating.spid 必须是唯一的,你必须同时运行插入和更新
推荐阅读
- android - Kotlin - PagaingDataAdapter;删除位置的项目
- flutter - 添加对 firebase flutter web 项目的重写以将所有调用定向到云函数
- ssh - 通过两台远程机器的 ssh 进行 pip 安装
- flutter - 我可以发布我的颤振应用程序并在生产中启用飞镖空安全功能吗
- https - Icecast、Ices2 和 HTTPS
- python - z 轴的非线性颜色范围
- postgresql - 从 Oracle SQL 转换 Postgres
- c# - 异步方法运行速度太快,无法在主线程上更新我的列表框
- node.js - 赛普拉斯永远不会通过 Windows 上的加载屏幕
- sql - Redshift 中的每月计数行 - 如何在没有活动的月份的结果中包含 0 行