久久久久久久av_日韩在线中文_看一级毛片视频_日本精品二区_成人深夜福利视频_武道仙尊动漫在线观看

根據(jù)下一條記錄刪除SQL中的記錄

Deleting record in SQL depending on next record(根據(jù)下一條記錄刪除SQL中的記錄)
本文介紹了根據(jù)下一條記錄刪除SQL中的記錄的處理方法,對大家解決問題具有一定的參考價(jià)值,需要的朋友們下面隨著小編來一起學(xué)習(xí)吧!

問題描述

我有以下列的記錄:IDTime_EndAttribute.

I have records with columns: ID, Time_End and Attribute.

我需要刪除所有記錄,

WHERE Time_End = '1990-01-01 00:00:00.000' AND Attribute <> '9'

但僅限:

  • 如果下一行沒有相同的屬性編號

  • 下一行具有相同的屬性編號和 Time_End1990-01-01 00:00:00.000

例如:

ID     Time_End                     Attribute
---------------------------------------------
235    1990-01-01 00:00:00.000      5                  /delete
236    1990-01-01 00:00:00.000      5                  /delete
237    1990-01-01 00:00:00.000      5
238    2016-10-10 23:45:40.000      5


ID     Time_End                     Attribute
---------------------------------------------
312    1990-01-01 00:00:00.000      8                  /delete
313    2016-01-09 18:00:00.000      6                  
314    1990-01-01 00:00:00.000      4                  /delete
315    1990-01-01 00:00:00.000      7
316    2016-10-10 23:45:40.000      7

我們的客戶有 50 個(gè)數(shù)據(jù)庫表,每個(gè)表中有數(shù)千條記錄(當(dāng)然還有更多的列,我只提到了那些對解決方案有影響的列).記錄從PLC發(fā)送到數(shù)據(jù)庫,但有時(shí)(我們不知道為什么)PLC也會發(fā)送錯誤的記錄.

Our customer have 50 database tables with thousands of records in every table (and of course more columns, I mentioned only those, which have impact on solution). Records are send in to the database from PLC, but sometimes (we don't know why) PLC send also wrong records.

所以我需要一個(gè)查詢來查找那些錯誤的記錄并刪除它們.:)

So what I need is a query which finds those wrong records and deletes them. :)

有人知道 SQL 代碼應(yīng)該是什么樣的嗎?

Anybody who knows how the SQL code should look like?

推薦答案

請看下面我的 SQL.首先,我們使用兩個(gè)窗口函數(shù) (LEAD) 收集要刪除的 id,以獲取下一行所需的數(shù)據(jù).然后,計(jì)算所有需要的數(shù)據(jù)后,應(yīng)用 OP 提出的評估規(guī)則.最后,使用獲取到的 id 通過帶有 in 子句的 id 刪除 tablet 受影響的記錄.

Please see my SQL below. First, we collect ids to delete using two window functions (LEAD) to get the next row needed data. Then, with all needed data computed, apply the evaluation rules proposed by the OP. Last, use the obtained ids to delete the affected records of the tablet by id with an in clause.

 DELETE toDeleteTable 
 WHERE toDeleteTable.id IN (WITH dataSet
                              AS (SELECT toDeleteTable.id,
                                         toDeleteTable.time_end, 
                                         toDeleteTable.attribute, 
                                         LEAD(toDeleteTable.time_end,1,0)  OVER (ORDER BY toDeleteTable.id) AS next_time_end,
                                         LEAD(toDeleteTable.attribute,1,0) OVER (ORDER BY toDeleteTable.id) AS next_attribute
                                    FROM toDeleteTable)
                            SELECT dataSet.id
                              FROM dataSet
                             WHERE dataSet.time_end = '1990-01-01 00:00:00.000' 
                               AND dataSet.attribute <> '9' 
                               AND (  (dataSet.next_attribute = dataSet.attribute AND dataSet.next_time_end  = '1990-01-01 00:00:00.000')   
                                    OR dataSet.next_attribute <> dataSet.attribute)
                           )

這篇關(guān)于根據(jù)下一條記錄刪除SQL中的記錄的文章就介紹到這了,希望我們推薦的答案對大家有所幫助,也希望大家多多支持html5模板網(wǎng)!

【網(wǎng)站聲明】本站部分內(nèi)容來源于互聯(lián)網(wǎng),旨在幫助大家更快的解決問題,如果有圖片或者內(nèi)容侵犯了您的權(quán)益,請聯(lián)系我們刪除處理,感謝您的支持!

相關(guān)文檔推薦

Modify Existing decimal places info(修改現(xiàn)有小數(shù)位信息)
The correlation name #39;CONVERT#39; is specified multiple times(多次指定相關(guān)名稱“CONVERT)
T-SQL left join not returning null columns(T-SQL 左連接不返回空列)
remove duplicates from comma or pipeline operator string(從逗號或管道運(yùn)算符字符串中刪除重復(fù)項(xiàng))
Change an iterative query to a relational set-based query(將迭代查詢更改為基于關(guān)系集的查詢)
concatenate a zero onto sql server select value shows 4 digits still and not 5(將零連接到 sql server 選擇值仍然顯示 4 位而不是 5)
主站蜘蛛池模板: 久草视频观看 | 少妇搡bbbb搡bbb搡澳门 | 色爱天堂 | 深夜福利视频网站 | 国产91清纯白嫩初高中在线观看 | 国产日韩欧美在线 | 久久精品视频网 | 国产乱码久久久久久 | 一区二区三区在线观看视频 | 国产精品一区二区三 | 91桃色网站 | 欧美黄色片在线观看 | 免费的黄色网址 | a级片网站| 日本不卡一区二区三区 | 日日干夜夜骑 | 日韩精品视频免费 | 我要看一级片 | 亚洲欧美在线视频 | av日韩精品 | av免费观看网站 | 亚洲福利一区 | 国产精品不卡视频 | av在线视 | 欧美xx孕妇| 一级片av | 精品一区二区国产 | 国产精品天堂 | www.黄色 | 日本久久久久 | 亚洲欧美中文字幕 | 亚洲精品1区 | 国产一区在线观看视频 | 欧美视频在线观看 | 一区二区国产精品 | 国产精品一区二区av | 亚洲区在线 | 午夜视频免费观看 | 亚洲精品社区 | 成人免费在线观看 | 亚洲精品一二三 |