【发布时间】:2020-04-12 04:47:58
【问题描述】:
我有一个大型网络日志表,其中包含 log_instanceID、Log_id(唯一)、Log_date、sevity 和其他列(不重要)。 我想删除相同 Log_instanceID 的所有行,希望实例至少有一行的 Log_Info 值不同于“INFO”,即“警告”或“错误”。
SELECT COUNT(log_id) NoOfLogs, instance_id, severity, CAST(log_date AS DATE) log_date
FROM log
WHERE instance_id = '3B2D8B77-1D4E-40F8-A274-5A1372E9178C'
group by instance_id, severity, cast(log_date AS DATE)
结果 - 保留
NoOfLogs | instance_id | severity | log_date
---------- -------------- ---------- ----------
93 | 3B2D8B77-1D4E-40F8-A274-5A1372E9178C | **ERROR** | 2019-11-03
747 | 3B2D8B77-1D4E-40F8-A274-5A1372E9178C | INFO | 2019-11-03
SELECT COUNT(log_id) NoOfLogs, instance_id, severity, CAST(log_date AS DATE) log_date
FROM log
WHERE instance_id = 'C24CE96F-65F1-44CF-8D91-5939091AF8AB'
GROUP BY instance_id, severity, CAST(log_date AS DATE)
结果 - 删除
NoOfLogs | instance_id | severity | log_date
---------- -------------- ---------- ----------
3 | C24CE96F-65F1-44CF-8D91-5939091AF8AB | INFO | 2019-05-13
我只需要删除严重性为“INFO”的所有实例。
如何仅提取带有仅信息日志的实例?
【问题讨论】:
标签: sql sql-server tsql except