sql - 在 update_time 最新的地方插入表
问题描述
我有一个包含会话数据的表。我想为最近添加的每个新会话行插入硬编码值。
例如,给定此表,其中添加了 3 个会话行信息
2019 年 2 月 10 日下午 5:15
我想最晚将server1和业务值插入 3 行(第 1-3 行)UDPATE_TIME
,在这种情况下是
2019 年 2 月 10 日下午 5:15
我使用此查询来获取最新的更新时间:
$update_time = query "SELECT FORMAT(MAX([UPDATE_TIME]), 'M/d/yyyy h:mm tt') AS UPDATE_TIME FROM table"| Select -ExpandProperty UPDATE_TIME;
我使用这个插入查询来插入值:
query "INSERT INTO table (SERVERNAME, Business_Name) VALUES ('server1', 'business')"
但是,正如您可以看到它插入新行(row4),相反,我想插入已经存在 1-3 的行,这样它就变成了这样:
我正在寻找的查询伪代码:
query "INSERT INTO table (SERVERNAME, Business_Name) VALUES ('server1', 'business') wherever $update_time
解决方案
我想你想要更新。像这样的东西:
update [table]
set business_name = @business_name
where update_time = (select max(t2.update_time) from [table] t2);
在插入之后进行更新似乎很危险——不同的线程可能同时插入数据。但是,这回答了您确实提出的问题。
推荐阅读
- java - 在java中分配不同的值后,每一行在二维数组中得到相同的值
- python - 函数返回自身而不是 str 值
- python - 基于公共辅助列从数据框中的列生成值列表的有效方法
- tensorflow - KeyError:使用 Huggingface Transformers 使用 BioASQ 数据集时出现“答案”错误
- python - 使用唯一 url (python) 抓取网站
- google-apps-script - 如何在同一个 Google Drive 中共享 google sheet 宏?
- gremlin - 如何在gremlin中进行遍历的交集
- javascript - 如何检查复选框是否被选中?
- python - 在 Python2.7 中应用 Async
- sql - PostgreSQL 随机化外键