使用 SQL 删除

Deleting with SQL

提问人:Andre Thang 提问时间:8/20/2021 最后编辑:Andre Thang 更新时间:8/23/2021 访问量:56

问:

VB 2012年

表1

Kubun |Name | Code | Date   | Time
1     |AA   | 10001|20210101|8:30
1     |AA   | 10001|20210101|9:00
1     |BB   | 10002|20210101|8:30
1     |BB   | 10002|20210101|9:00
2     |AA   | 10001|20210101|14:00
2     |AA   | 10001|20210101|17:30
2     |BB   | 10002|20210101|14:00
2     |BB   | 10002|20210101|17:30

我想删除所有数据,但 Kubun 1 的最短时间和 Kubun 2 的最长时间除外。 如果您能帮助解决此问题,我将不胜感激。

SQL vb.net visual-studio-2012 sql-delete

评论

0赞 Tim Biegeleisen 8/20/2021
色谱柱的类型是什么?Time
0赞 Andre Thang 8/20/2021
'Time' = 整数,而不是 Null

答:

0赞 H.S 8/20/2021 #1

根据您的问题信息,如果您正在 SQL-Query 解决方案中查找某些内容,请尝试使用如下内容:

Delete From Table1 Where [Time] != (Select Min([Time]) From Table1) and [Time] != (Select Max([Time]) From Table1)

更新查询以删除基于“最大时间”和“基于名称的最小时间”的记录

Delete t1 From Table1 t1 
Join 
   (Select [Name], max([Time]) maxTime, min([Time]) minTime From Table1 Group by [Name]) t2
    on 
      (t1.[Name] = t2.[Name] and t1.[Time] = t2.maxTime) OR 
      (t1.[Name] = t2.[Name] and t1.[Time] = t2.minTime)

评论

0赞 Andre Thang 8/23/2021
通过这种方式,我做到了,可以删除除min(time)和max之外的所有数据,但我想从“名称”列中保留每个人的最大值和最小值[时间]。