使用group by语句检测重复的行

时间:2013-10-16 22:04:53

标签: sql tsql sql-server-2008-r2

要检测表格中的重复行,我有以下查询:

select SeatForShowtimeID_FK,count(*) as cnt from dbo.TicketRow
group by SeatForShowtimeID_FK 
having cnt>1

我想找到具有相同SeatForShowtimeID_FK的行,但是当我执行此查询时,我收到此错误:

Invalid column name 'cnt'.

我该怎么做?

2 个答案:

答案 0 :(得分:4)

having cnt > 1更改为having count(*) > 1

答案 1 :(得分:1)

HAVING子句是GROUP BY的WHERE子句。 在HAVING中你不能使用字段的别名。

你写过:

having cnt>1

但是cnt是别名。您的条件必须为COUNT(*)> 1(或Moho建议的COUNT(1))。