1

我有一个需要过滤的数据库。

该数据库包含已注册时事通讯的各个公司的员工行。我不希望将时事通讯发送给每个人,我只想将其发送给每个公司的 2 个。如果列出的 1 家公司中超过 2 条,我的 SQL 将如何删除重复项?

谢谢你的帮助。

4

2 回答 2

2

可能这会帮助你...

DELETE FROM newsletter nl
WHERE ID NOT IN
(
    select id from newsletter ne where ne.comp_name=hl.comp_name limit 2
)

我使用表名作为示例,只需将其替换为您的原始名称即可。

于 2012-09-10T08:40:43.040 回答
1

试试这个查询。它适用于 Sql Server 数据库。

select * from Employees e
where id in (select top 2 id from Employees ie where e.company = ie.company)

请替换表和字段名称,因为表的确切结构未知。

于 2012-09-10T08:26:53.023 回答