sqlite - sqlite:如何使用子查询的结果更新列?
问题描述
我需要更新包含同一个 tableA 的重复值数量的列。重复查询很简单,但是如何用结果更新列呢?
这就是我谦虚的 sql 知识带给我的:
with dupl as (
select "KGEZ" as k, count(*) as c from tableA group by "KGEZ" having c>1
)
update tableA
set "kgez_count" = "c"
where "KGEZ" = "k"
任何帮助表示赞赏。
解决方案
我认为这就是你想要的:
with dupl as (
select "KGEZ" as k, count(*) as c from tableA group by "KGEZ" having c > 1
)
update tableA
set "kgez_count" = coalesce((select c from dupl where k = tableA."KGEZ"), 0)
如果coalesce()
您"KGEZ"
不想将该列更新为null
.
推荐阅读
- python - 将 win32client SAPI.SpVoice 与多线程一起使用会导致 pywintypes.com_error
- android - 我应该如何在 android 中维护会话以及我应该存储什么(散列密码或其他内容)以保持登录状态
- python - 插入数据以协调来自链接不同侧的读数的算法?
- javascript - 正则表达式 - 仅获取文本/数字和额外
- reactjs - 我可以使用默认操作弹出窗口更改 chrome 扩展的位置吗?
- dialog - AEM touch ui 对话框 6.3 - 验证错误图标重叠描述图标
- audio - 以长时间的静音录制流式音频
- openssl - 以编程方式将我的自签名证书添加到受信任的 CAS 列表中
- python - Python运行极慢一行代码
- docker - rm:无法删除“文件夹”:设备或资源繁忙 docker bind mount