SQL在计数时删除重复的行

时间:2013-10-16 18:34:34

标签: sql

我有一个使用count的select语句,因为我在计算行而不是返回它们如何确保我没有在列上获得重复值?

例如

_table_
fName     someField
Eric       data
Kyle       mdata
Eric       emdata
Andrew     todata

我希望计数为3,因为Eric是重复的,有没有办法做到这一点?我的选择是:

Select Count(*) From _table_ INTO :var

谢谢,

4 个答案:

答案 0 :(得分:3)

SELECT Count(DISTINCT fName) From _table_ INTO :var

它会计算fName列中不同元素的数量。

答案 1 :(得分:0)

这将执行作业Select Count(distinct fnmae) From _table_ INTO :var

答案 2 :(得分:0)

尝试

SELECT Count(DISTINCT fName) From _table_ INTO :var

答案 3 :(得分:0)

您可以选择DISTINCT名字的计数:

declare @table table (fname varchar(20), someField varchar(20))
insert into @table (fname, someField)
select 'Eric', 'data'
union select 'Kyle', 'mdata'
union select 'Eric', 'emdata'
union select 'Andrew', 'todata'

-- returns 4, because there are 4 rows in the table
select count(*) from @table     

-- returns 3, because there are 3 rows with distinct first names
select count(*) from (select distinct fname from @table) firstNames