选择没有重复项的行

时间:2017-11-13 07:17:30

标签: sql-server sql-server-2008 tsql

我有以下SQL表:

+--------------+
| Account      |
+--------------+
|    11100011  | 
|    11100012  | 
|    11100013  |  
|    11100014  | 
|    11100011  |  
|    11100012  | 
|    11100015  | 
+--------------+

我需要的是使用在此表中没有任何重复项的行进行选择查询(即删除两个重复的行),因此查询结果将如下所示

+--------------+
| Account      |
+--------------+
|    11100013  |  
|    11100014  | 
|    11100015  |
+--------------+

我怎样才能在tsql中执行此操作?

4 个答案:

答案 0 :(得分:5)

select account
from 
table
group by account
having count(*)=1

答案 1 :(得分:1)

SELECT DISTINCT Account
FROM table_name_in_your_database;

常规此查询用于选择表中的不同元素。

答案 2 :(得分:1)

试试这个,

select * from table_name group by account having count(*)<=1;

答案 3 :(得分:0)

使用Window Function我们也得到相同的结果

SELECT Account FROM
(
SELECT Account,
     COUNT(Account)OVER(Partition by Account ORDER BY Account) AS DistinctCnt 
FROM cte
)
DT WHERE DT.DistinctCnt=1

结果

Account
--------
11100013
11100014
11100015