我想问一下mysql表上的重复值检测,其中有很多列。 我的表名是库存,其中包含person_name,itemid为40列,项目序列号为40列 像这样 : PERSON_NAME, itemid0,itemid1,itemid2 ...... itemid39 和序列号 itemserial0,itemserial1,itemserial2 .... itemserial39
所以我想要...找到 示例:我的序列号如'888239390707418232' 在每个列itemserial中找到888239390707418238 itemserial0,itemserial1 ... itemserial39
如果在itemserial23上找到此值 所以查询将输出
person_name | itemid23 | itemserial23 |
John | 1234 | 888239390707418232 |
Bryan | 1234 | 888239390707418232 |
itemID能够复制,但itemserial无法复制
Table Structure (if you confused about my table):
person_name, it0, is0, it1, is1, it2, is2, it3, is3 ..... until it39, is39
我只是试图用这个查询揭示结果:
SELECT person_name,
it0, is0, it1, is1, it2, is2, it3, is3,
it4, is4,
it5, is5,
it6, is6,
it7, is7,
it8, is8,
it9, is9,
it10, is10,
it11, is11,
it12, is12,
it13, is13,
it14, is14,
it15, is15,
it16, is16,
it17, is17,
it18, is18,
it19, is19,
it20, is20,
it21, is21,
it22, is22,
it23, is23,
it24, is24,
it25, is25,
it26, is26,
it27, is27,
it28, is28,
it29, is29,
it30, is30,
it31, is31,
it32, is32,
it33, is33,
it34, is34,
it35, is35,
it36, is36,
it37, is37,
it38, is38,
it39, is39
FROM gdb0101.inventory
WHERE is1 = '888239390707418232' OR is2 = '888239390707418232'
OR is3= '888239390707418232'
OR is4= '888239390707418232'
OR is5= '888239390707418232'
OR is6= '888239390707418232'
OR is7= '888239390707418232'
OR is8= '888239390707418232'
OR is9= '888239390707418232'
OR is10= '888239390707418232'
OR is11= '888239390707418232'
OR is12= '888239390707418232'
OR is13= '888239390707418232'
OR is14= '888239390707418232'
OR is15= '888239390707418232'
OR is16= '888239390707418232'
OR is17= '888239390707418232'
OR is18= '888239390707418232'
OR is19= '888239390707418232'
OR is20= '888239390707418232'
OR is21= '888239390707418232'
OR is22= '888239390707418232'
OR is23= '888239390707418232'
OR is24= '888239390707418232'
OR is25= '888239390707418232'
OR is26= '888239390707418232'
OR is27= '888239390707418232'
OR is28= '888239390707418232'
OR is29= '888239390707418232'
OR is30= '888239390707418232'
OR is31= '888239390707418232'
OR is32= '888239390707418232'
OR is33= '888239390707418232'
OR is34= '888239390707418232'
OR is35= '888239390707418232'
OR is36= '888239390707418232'
OR is37= '888239390707418232'
OR is38= '888239390707418232'
OR is39= '888239390707418232'
但结果令人困惑 它=卑鄙的项目 is = mean itemserial
PHP应用程序将使用此查询在表中显示
任何建议或帮助将不胜感激:)
答案 0 :(得分:1)
试试这个
SELECT distinct inventory.*
FROM inventory as tb1
join inventory as tb2
WHERE tb1.itemid23 = tb2.itemid23
and tb1.id < tb2.id
它可能会帮助您获取非重复记录
删除重复记录
DELETE inventory
FROM inventory as tb1
join inventory as tb2
WHERE tb1.itemid23 = tb2.itemid23
and tb1.id < tb2.id