Mysql 按1列列出的唯一表
我有这样的结构:使用以下示例数据的表命中:Mysql 按1列列出的唯一表,mysql,Mysql,我有这样的结构:使用以下示例数据的表命中: page_alpha_id ok_id ip ------------- ------------ ----------- zfuUnu4K11R9C 100255884520 95.73.30.67 wL77qKOmSTFW 100279470528 91.39.146.76 OArxea90 100307614632 176.50.251.94 wefweffew
page_alpha_id ok_id ip
------------- ------------ -----------
zfuUnu4K11R9C 100255884520 95.73.30.67
wL77qKOmSTFW 100279470528 91.39.146.76
OArxea90 100307614632 176.50.251.94
wefweffew 100307614632 126.40.251.94
yuSb4zzRs 100326443828 93.88.21.86
OxyCtgwlwRFX 100356656755 93.223.88.254
ukwY8SpBT5crX 100375258476 81.4.193.238
ifmgtm7QC 100488290479 95.71.3.15
如何删除列ok\u id中重复的行
删除哪一行无关紧要。您可以将delete与join一起使用,假设其他列中的一列对每个ok\u id都有不同的值。例如:
delete h
from hits h join
(select ok_id, max(page_alpha_id) as maxpad
from hits h
group by ok_id
) hmax
on h.ok_id = hmax.ok_id and h.page_alpha_id < hmax.maxpad;
使用删除的特殊联接语法:
delete a
from hits a
join hits b on a.ok_id = b.ok_id
and a.page_alpha_id > b.page_alpha_id
使这项工作起作用的诀窍是额外的大于条件,它既防止行连接到自身,又只在连接的一侧拾取。如果这不重要,那么您可能会遇到更大的问题!