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

<tfoot id='GiNtF'></tfoot>
      <bdo id='GiNtF'></bdo><ul id='GiNtF'></ul>

      <small id='GiNtF'></small><noframes id='GiNtF'>

      <i id='GiNtF'><tr id='GiNtF'><dt id='GiNtF'><q id='GiNtF'><span id='GiNtF'><b id='GiNtF'><form id='GiNtF'><ins id='GiNtF'></ins><ul id='GiNtF'></ul><sub id='GiNtF'></sub></form><legend id='GiNtF'></legend><bdo id='GiNtF'><pre id='GiNtF'><center id='GiNtF'></center></pre></bdo></b><th id='GiNtF'></th></span></q></dt></tr></i><div class="qwawimqqmiuu" id='GiNtF'><tfoot id='GiNtF'></tfoot><dl id='GiNtF'><fieldset id='GiNtF'></fieldset></dl></div>

      <legend id='GiNtF'><style id='GiNtF'><dir id='GiNtF'><q id='GiNtF'></q></dir></style></legend>
    1. SQL - 使用 ID NOT IN 的高級重復刪除

      SQL - Advanced duplicates removal using ID NOT IN(SQL - 使用 ID NOT IN 的高級重復刪除)

      <i id='kVJ1d'><tr id='kVJ1d'><dt id='kVJ1d'><q id='kVJ1d'><span id='kVJ1d'><b id='kVJ1d'><form id='kVJ1d'><ins id='kVJ1d'></ins><ul id='kVJ1d'></ul><sub id='kVJ1d'></sub></form><legend id='kVJ1d'></legend><bdo id='kVJ1d'><pre id='kVJ1d'><center id='kVJ1d'></center></pre></bdo></b><th id='kVJ1d'></th></span></q></dt></tr></i><div class="qwawimqqmiuu" id='kVJ1d'><tfoot id='kVJ1d'></tfoot><dl id='kVJ1d'><fieldset id='kVJ1d'></fieldset></dl></div>
        <bdo id='kVJ1d'></bdo><ul id='kVJ1d'></ul>
      • <legend id='kVJ1d'><style id='kVJ1d'><dir id='kVJ1d'><q id='kVJ1d'></q></dir></style></legend>

        • <tfoot id='kVJ1d'></tfoot>

          <small id='kVJ1d'></small><noframes id='kVJ1d'>

              <tbody id='kVJ1d'></tbody>

                本文介紹了SQL - 使用 ID NOT IN 的高級重復刪除的處理方法,對大家解決問題具有一定的參考價值,需要的朋友們下面隨著小編來一起學習吧!

                問題描述

                限時送ChatGPT賬號..

                我在我的表中發(fā)現(xiàn)了需要刪除的重復項.該表包含:

                I found duplicates in my table which needed to be removed. The table contains:

                1. ID - 表的唯一鍵
                2. STUDENT_ID - 學生的 ID
                3. SUBJECT_ID - 學生的科目
                4. CLASS_ID - 班級學生在
                5. XP_LVL - 專業(yè)水平

                一個學生應該只有一個科目、班級和 XP_lvl 的記錄.在這種情況下,刪除重復項是基于刪除所有但保留一個.

                One student should have only one record of subject, class and XP_lvl. In this case the removal of duplicities is based on delete all but keep one.

                在我的情況下,重復看起來像這樣:

                In my case duplicates looks like this:

                <頭>
                IDSTUDENT_IDSUBJECT_IDCLASS_IDEXPERTISE_LVL
                11AAA55FFECLASS8082
                21AAA55FFECLASS8082
                32AAB49BBCLASS8903
                42AAB49BBCLASS8903
                52AAB49BBCLASS8904
                62AAB49BBCLASS8903

                我通過創(chuàng)建 (CONCAT(STUDENT_ID, CONCAT(SUBJECT_ID, CLASS_ID))) 的唯一 ID,然后通過 count.. >1 識別出所有重復項> 工作正常.

                I have identified all the duplicates by creating unique ID of (CONCAT(STUDENT_ID, CONCAT(SUBJECT_ID, CLASS_ID))) and then by having count.. >1 which works fine.

                現(xiàn)在我需要識別所有 ID,以便我可以在從查詢中刪除時使用 ID NOT IN (SELECT...).

                Now I need to identify all the ID so I can use ID NOT IN (SELECT...) in my delete from query.

                所以我這樣做了..

                AND ID NOT IN (SELECT UID FROM (
                SELECT
                    min(ID) AS UID,
                    STUDENT_ID,
                    SUBJECT_ID,
                    CLASS_ID    
                FROM
                    my_table 
                GROUP BY
                    STUDENT_ID,
                    SUBJECT_ID,
                    CLASS_ID    
                HAVING
                    count(CONCAT(STUDENT_ID, CONCAT(SUBJECT_ID, CLASS_ID))) > 1))
                

                但是,我不能使用 min/max(ID) 來選擇要保留的 ID,因為正如您所見,對于學生 2AAB,存在具有不同 XP_LVL 的重復項.

                However I cannot use min/max(ID) to choose which ID to keep because as you can see for student 2AAB there are duplicities with different XP_LVL.

                在這種情況下,我需要選擇最高 XP_LVL 的 ID 來保留和刪除所有其他的.

                In this case I need to select ID of highest XP_LVL to keep and delete all other.

                我嘗試使用 RANK、ROWNUM 不同的排序和子選擇的負載,但沒有想要的結(jié)果.

                I tried using RANK, ROWNUM different ordering and loaaads of subselects but without desired results.

                有誰知道如何有效地做到這一點?我們正在談論 6k 重復,所以我不能一一做.提前感謝您的幫助.

                Does anyone have any idea how to do it effectively ? We are talking about 6k duplicities so I cant do it one by one. Thank you for your help in advance.

                推薦答案

                您可以使用 ROW_NUMBER 解析函數(shù)并使用 ROWID 偽列關(guān)聯(lián)刪除:

                You can use ROW_NUMBER analytic function and correlate the deletion using the ROWID pseudo-column:

                DELETE FROM my_table
                WHERE ROWID IN (
                  SELECT ROWID
                  FROM   (
                    SELECT ROW_NUMBER() OVER (
                             PARTITION BY student_id, subject_id, class_id
                             ORDER BY expertise_lvl DESC
                           ) AS rn
                    FROM   my_table
                  )
                  WHERE  rn > 1
                )
                

                db<>fiddle 這里

                這篇關(guān)于SQL - 使用 ID NOT IN 的高級重復刪除的文章就介紹到這了,希望我們推薦的答案對大家有所幫助,也希望大家多多支持html5模板網(wǎng)!

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

                相關(guān)文檔推薦

                SQL query to get all products, categories and meta data woocommerce/wordpress(獲取所有產(chǎn)品、類別和元數(shù)據(jù)的 SQL 查詢 woocommerce/wordpress)
                Can I figure out a list of databases and the space used by SQL Server instances without writing SQL queries?(我可以在不編寫 SQL 查詢的情況下找出數(shù)據(jù)庫列表和 SQL Server 實例使用的空間嗎?) - IT屋-程序員軟件開發(fā)
                How to create a login to a SQL Server instance?(如何創(chuàng)建對 SQL Server 實例的登錄?)
                How to know the version and edition of SQL Server through registry search(如何通過注冊表搜索知道SQL Server的版本和版本)
                Why do I get a quot;data type conversion errorquot; with ExecuteNonQuery()?(為什么會出現(xiàn)“數(shù)據(jù)類型轉(zhuǎn)換錯誤?使用 ExecuteNonQuery()?)
                How to show an image from a DataGridView to a PictureBox?(如何將 DataGridView 中的圖像顯示到 PictureBox?)
                  <tbody id='gkKLs'></tbody>

                <tfoot id='gkKLs'></tfoot>
                <i id='gkKLs'><tr id='gkKLs'><dt id='gkKLs'><q id='gkKLs'><span id='gkKLs'><b id='gkKLs'><form id='gkKLs'><ins id='gkKLs'></ins><ul id='gkKLs'></ul><sub id='gkKLs'></sub></form><legend id='gkKLs'></legend><bdo id='gkKLs'><pre id='gkKLs'><center id='gkKLs'></center></pre></bdo></b><th id='gkKLs'></th></span></q></dt></tr></i><div class="qwawimqqmiuu" id='gkKLs'><tfoot id='gkKLs'></tfoot><dl id='gkKLs'><fieldset id='gkKLs'></fieldset></dl></div>

                <small id='gkKLs'></small><noframes id='gkKLs'>

                      • <legend id='gkKLs'><style id='gkKLs'><dir id='gkKLs'><q id='gkKLs'></q></dir></style></legend>
                          <bdo id='gkKLs'></bdo><ul id='gkKLs'></ul>

                          主站蜘蛛池模板: 亚洲国产成人av好男人在线观看 | 在线视频一区二区 | 91精品久久久久 | 久久九七| 国产精品一二三区在线观看 | 亚洲精品中文在线 | 色免费在线视频 | 国产成人99久久亚洲综合精品 | 欧美日韩一二三区 | 国产一区二区三区四区三区四 | av黄色在线观看 | 久久久久国 | 日韩av一二三区 | 天天综合亚洲 | 人人擦人人 | 中文字幕人成乱码在线观看 | 在线久草| 婷婷激情在线 | 国产精久久久久久久 | 一区二区三区视频免费观看 | 色婷婷在线视频 | 久久丝袜 | 涩涩视频在线看 | 在线观看成人 | 国产精品国产精品国产专区不蜜 | 精品人伦一区二区三区蜜桃网站 | 色秀网站 | 午夜影院视频在线观看 | 337p日本欧洲亚洲大胆鲁鲁 | 韩日视频在线观看 | 国产一区二区不卡 | 视频羞羞 | 九一精品 | 美美女高清毛片视频免费观看 | 日韩淫片免费看 | 欧美视频免费在线 | 亚洲午夜精品在线观看 | 成人欧美一区二区三区白人 | 久久精品在线 | 国产视频亚洲视频 | 国产精品一二三区 |