Sql 查看项目是否在数据库列中出现多次
我想使用SQL检查一段数据是否多次出现在表中的特定列中。以下是我目前拥有的SQL代码:Sql 查看项目是否在数据库列中出现多次,sql,Sql,我想使用SQL检查一段数据是否多次出现在表中的特定列中。以下是我目前拥有的SQL代码: select * from AXDelNotesNoTracking where count(salesid) > 1 salesid是我想查看的专栏,如有任何帮助,将不胜感激,谢谢。应该是: SELECT SalesID, COUNT(*) FROM AXDelNotesNoTracking GROUP BY SalesID HAVING COUNT(*) > 1 关于您的初始查询: 无法执
select * from AXDelNotesNoTracking where count(salesid) > 1
salesid
是我想查看的专栏,如有任何帮助,将不胜感激,谢谢。应该是:
SELECT SalesID, COUNT(*)
FROM AXDelNotesNoTracking
GROUP BY SalesID
HAVING COUNT(*) > 1
关于您的初始查询:
SELECT *
FROM AXDelNotesNoTracking
WHERE SalesID IN
( SELECT SalesID
FROM AXDelNotesNoTracking
GROUP BY SalesID
HAVING COUNT(*) > 1
)
ORDER BY SalesID
试试这个:
select salesid,count (salesid) from AXDelNotesNoTracking group by salesid having count (salesid) >1
那么:
select salesid from AXDelNotesNoTracking group by salesid having count(*) > 1;
要进一步扩展,如果您要查找在某个范围内显示的数据(即,不止一次但小于5倍),则可以使用
having count(*) > 1 and count(*) < 5
计数(*)大于1且计数(*)小于5
你可以使用任何你想要的限定词——它们不必匹配,它们都包含在“having”语句中。
什么样的SQL?MySQL?Microsoft SQL Server?神谕通道etc-1这缺少HAVING子句,该子句只标识出现多次的记录,正如原始问题所要求的那样。他没有提到他只想查看1次以上的记录,而是要检查这些记录。问题指出:“我想检查一条数据是否在特定列中出现多次”。如果没有HAVING子句,您将返回所有值,如果表很大,则很难找到多次出现的值。这非常有用。我真的很欣赏各种各样的方法和解释。谢谢-Leo性能问题是什么?将从AXDelNotesNoTracking GROUP BY SalesID中选择COUNT()>1的SalesID,COUNT(),这会很快吗?认为这是最好的选择,因为它不会像接受的答案中那样需要不必要的子查询。
having count(*) > 1 and count(*) < 5