2012-09-10 44 views
1

我有一个数据库,需要筛选。SQL删除重复如果更多2

该数据库包含注册了新闻通讯的各公司员工的行。我不希望发送通讯给每个人,我只想把它发送到每个公司2。如果公司列出的公司超过2个,我的SQL会删除重复项?

感谢您的任何帮助。

+3

你还可以包含你正在使用的数据库吗?它可能有助于语法。 (另外:有一个快速阅读http://meta.stackexchange.com/q/5029,因为你是新的:)) – Fluffeh

+0

哪个数据库? MySQL或SQL服务器或其他东西? –

+0

您如何决定哪两位员工获得简报?是否允许多家公司雇用的员工不止一次地收到新闻通讯? –

回答

1

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

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

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

2

可能这将帮助你......

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

我使用表名作为例子只是你的原来的名称替换它。