我正在创建一个网络应用,我需要打印多次出现的记录。
我创建了这个表
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
我需要做什么?
答案 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