SQL查询COUNT(不同

时间:2015-03-25 23:25:42

标签: sql-server count

我使用SQL并且无法找到运行特定查询的正确语法。我试图查看大量数据,这就是为什么我需要确保我做对了。

我的表格如下所示。

表1

Column 1 . Column 2
1234     . A
1245     . B
1234     . A
1256     . C
1234     . A

我希望能够编写一个简单的查询,只给出第1列中出现两次以上但仍然具有相同值而不是用不同数字替换它的那些(实际数量会有所不同,但这是最简单的)。

我正在考虑使用一个伯爵(不同但我还没有能够让它工作。有什么想法吗?

3 个答案:

答案 0 :(得分:0)

我不确定"仍然有相同的值而不是用不同的数字替换它#34;意思是,但也许这个SQL就是你所需要的:

select *
from Table1
where Column1 in (
  select Column1
  from Table1
  group by Column1 
  having count(*) > 2
  );

这里有一个小提琴:http://sqlfiddle.com/#!6/4b443/1

答案 1 :(得分:0)

这肯定会有用

select column1, column2 from table where column1 in ( select column1 
                    from table1 
                    group by column1
                    having count(column1) >=2 )

答案 2 :(得分:0)

如果我理解正确:

select column1
from table t
group by column 1
having count(*) > 2 and
       min(column2) = max(column2);

这会使column1的值出现两次以上,但所有行的column2值都相同。