1列独特的表格

时间:2014-07-26 14:09:04

标签: mysql

我有这样的结构:table hits包含以下示例数据:

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

我如何DELETEok_id中包含重复项的行?

删除哪一行无关紧要。

2 个答案:

答案 0 :(得分:1)

您可以将deletejoin一起使用,假设其他列中的一列具有每个ok_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;

答案 1 :(得分:0)

使用特殊连接语法进行删除:

delete a
from hits a
join hits b on a.ok_id = b.ok_id
  and a.page_alpha_id > b.page_alpha_id

&#34;技巧&#34;这使得这项工作是一个额外的大于条件,它既可以阻止行加入自己,也只能在连接的一侧选择。