我有一个需要过滤的数据库。
该数据库包含已注册时事通讯的各个公司的员工行。我不希望将时事通讯发送给每个人,我只想将其发送给每个公司的 2 个。如果列出的 1 家公司中超过 2 条,我的 SQL 将如何删除重复项?
谢谢你的帮助。
我有一个需要过滤的数据库。
该数据库包含已注册时事通讯的各个公司的员工行。我不希望将时事通讯发送给每个人,我只想将其发送给每个公司的 2 个。如果列出的 1 家公司中超过 2 条,我的 SQL 将如何删除重复项?
谢谢你的帮助。
可能这会帮助你...
DELETE FROM newsletter nl
WHERE ID NOT IN
(
select id from newsletter ne where ne.comp_name=hl.comp_name limit 2
)
我使用表名作为示例,只需将其替换为您的原始名称即可。
试试这个查询。它适用于 Sql Server 数据库。
select * from Employees e
where id in (select top 2 id from Employees ie where e.company = ie.company)
请替换表和字段名称,因为表的确切结构未知。