如果count大于1,则在SQL中显示记录

时间:2017-01-06 10:45:16

标签: sql-server count

我正在创建一个网络应用,我需要打印多次出现的记录。

我创建了这个表

create table nameandinfo
(
    names nvarchar(40),
    contno nvarchar(40)
)

并插入3条记录:

select * from nameandinfo

这是样本数据:

Ibibo   998test389
Nizam   959test681
Ibrahim 998test389

现在我按(contno)计算数据

SELECT [contno], COUNT(*) contact
FROM nameandinfo
GROUP BY [contno]

我得到以下结果:

9594857681  1
9987145389  2

我想只显示计数大于1的行:

9987145389  2

我需要做什么?

3 个答案:

答案 0 :(得分:3)

使用HAVING

SELECT [contno], COUNT(*) contact
FROM nameandinfo
GROUP BY [contno]
HAVING COUNT(*) > 1

答案 1 :(得分:0)

如果要在Group By Column上应用任何条件,则需要使用Having as

SELECT [contno], COUNT(*) cnt
FROM nameandinfo
GROUP BY [contno]
HAVING COUNT(*) > 1

答案 2 :(得分:0)

如果列是表的一部分,可以由where子句操作。当使用总和和计数等聚合计算时,Have用于过滤数据。

SELECT contno,COUNT(*) AS Count 
FROM nameandinfo
GROUP BY contno
HAVING COUNT(*)>1