2016-10-04 32 views

回答

0

试试这个

select empid from table 
where name in (select name from table group by name having count(*)>1) 
+0

Thanks dude .... – Anil

0

试试这个EMPID号码。

  select distinct t.Empid from 
     #Your_Table t inner join 
     (
      select Name, COUNT (Name) as count 
      from #Your_Table 
      group by Name 
      having COUNT (Name) > 1 
     )a on a.Name=t.Name 

     order by t.Empid 
1

如果您使用的是sql server,请使用下面的脚本。

;WITH CTE_1 AS 
(
SELECT *,COUNT(1)OVER(PARTITION BY Name ORDER BY Name) CNT 
FROM [YourTable] 
) 
SELECT ID 
FROM [CTE_1] 
WHERE CNT > 1 
0
SELECT * 
FROM table AS parent 
WHERE EXISTS(
SELECT * 
FROM table AS sub 
WHERE sub.Name == parent.Name && parent.Empid <> sub.Empid 
) 
+0

这是哪一种dbms? (对没有指定dbms的问题的产品特定答案。) – jarlh

+0

尽管此代码可能有助于解决问题,但它并未解释_why_和/或_how_它是如何回答问题的。提供这种附加背景将显着提高其长期教育价值。请[编辑]您的答案以添加解释,包括适用的限制和假设。 –

0
SELECT * FROM (
     SELECT ROW_NUMBER() OVER (PARTITION BY Name ORDER BY Name) RowNo,* 
     From Your_Table 
    ) a 
    WHERE RowNo > 1