Mysql如何實(shí)現(xiàn)更新偶數(shù)行或者奇數(shù)行
一、需求背景
在處理數(shù)據(jù)時(shí),由于表的主鍵是data_seq_id, 自己定義的一個(gè)序列,例如:INWDN000827....
這些數(shù)據(jù)是需要用戶(hù)來(lái)維護(hù)的,如果用戶(hù)維護(hù)成兩份,因?yàn)橹麈I設(shè)計(jì)成這樣已經(jīng)無(wú)法避免了。如何清除掉重復(fù)數(shù)據(jù)呢?
二、查找重復(fù)數(shù)據(jù)
通過(guò)group by count 查找到重復(fù)數(shù)據(jù)。
| data_seq_id | value | flag |
| A001 | v1 | Y |
| A002 | v1 | Y |
| A003 | v2 | Y |
| A004 | v2 | Y |
三、update 奇數(shù)行的flag為N
如何找到奇數(shù)行或者偶數(shù)行呢?
select * from( select @rownum := @rownum + 1 as row_num, t.* from m_bis_data_d t,( select @rownum := 0 ) tmp_table) t where t.row_num % 2 = 1
通過(guò)這個(gè)sql 可以將奇數(shù)行找到data_seq_id 。然后將其update 掉即可。
四、總結(jié)
實(shí)際上解決這個(gè)問(wèn)題應(yīng)該是從根本上解決,主鍵不能這么隨意,應(yīng)該在設(shè)定主鍵之初就考慮到這個(gè)問(wèn)題。我的想法是用value 然后md5生成主鍵,即不會(huì)重復(fù)也可以確保不會(huì)數(shù)據(jù)重復(fù)。
以上為個(gè)人經(jīng)驗(yàn),希望能給大家一個(gè)參考,也希望大家多多支持腳本之家。
相關(guān)文章
Windows下mysql 5.7 設(shè)置區(qū)分大小寫(xiě)(敏感),設(shè)置默認(rèn)編碼 utf8mb4
最近需要將Windows下的mysql 5.7設(shè)置區(qū)分大小寫(xiě)(敏感),設(shè)置默認(rèn)編碼 utf8mb4,需要的朋友可以參考下2022-10-10
MySQL的一條慢SQL查詢(xún)導(dǎo)致整個(gè)網(wǎng)站宕機(jī)的解決方法
通常來(lái)說(shuō),我們看到的慢查詢(xún)一般還不致于導(dǎo)致掛站,頂多就是應(yīng)用響應(yīng)變慢不過(guò)這個(gè)恰好今天被我撞見(jiàn)了,一個(gè)慢查詢(xún)把整個(gè)網(wǎng)站搞掛了2016-07-07
SQL中current_date()函數(shù)的實(shí)現(xiàn)
日期時(shí)間類(lèi)型的數(shù)據(jù)也是經(jīng)常要用到的,SQL中也提供了一些函數(shù)對(duì)這些數(shù)據(jù)進(jìn)行處理,本文主要介紹了SQL中current_date()函數(shù)的實(shí)現(xiàn),具有一定的參考價(jià)值2024-02-02
MySQL多表查詢(xún)的實(shí)現(xiàn)過(guò)程
文章講解了SQL多表查詢(xún)的核心概念,包括笛卡爾積(交叉連接)、等值/非等值連接、自連接、內(nèi)/外連接分類(lèi),強(qiáng)調(diào)避免笛卡爾積需添加連接條件,區(qū)分列名并使用JOIN/ON語(yǔ)法,同時(shí)對(duì)比了UNION與UNION?ALL的區(qū)別,并提及MySQL中滿外連接的替代方法2025-10-10
MySQL安裝時(shí)一直卡在starting?server的問(wèn)題及解決方法
這篇文章主要介紹了MySQL安裝時(shí)一直卡在starting?server的問(wèn)題及解決方法,出現(xiàn)這種情況大概有兩個(gè)原因,文中對(duì)每種原因給大家詳細(xì)介紹,需要的朋友可以參考下2022-06-06
MySQL啟動(dòng)失敗及權(quán)限問(wèn)題的解決方案分享
這篇文章主要介紹了MySQL啟動(dòng)失敗及權(quán)限問(wèn)題的解決方案,主要問(wèn)題包括權(quán)限不足、文件系統(tǒng)不區(qū)分大小寫(xiě)和用戶(hù)權(quán)限問(wèn)題,通過(guò)修復(fù)文件權(quán)限、調(diào)整權(quán)限設(shè)置和以root用戶(hù)啟動(dòng)MySQL可以有效解決問(wèn)題,需要的朋友可以參考下2025-12-12

