Sql 为每个参考id选择TOP 1

Sql 为每个参考id选择TOP 1,sql,sql-server-2005,select,Sql,Sql Server 2005,Select,这些是我的桌子 person ( id [int], surname [varchar] (30), ref [int], ) episode ( id [int], ref [int], typeId [int], startDate [datetime] ) type ( typeId [int], typeName [varchar] ) 我想选择所有有超过1集且最早的一集在2013年1月1日之后开始的人。我尝试使用行号和分区,但我使用的是Sql Se

这些是我的桌子

person
( id [int],
  surname [varchar] (30),
  ref [int],
)

episode
(
  id [int],
  ref [int],
  typeId [int],
  startDate [datetime]
)

type
(
  typeId [int],
  typeName [varchar]
)
我想选择所有有超过1集且最早的一集在2013年1月1日之后开始的人。我尝试使用行号和分区,但我使用的是Sql Server 2005,它不喜欢行号。

使用:

having count(*)>1
and min(startDate) >'1 Jan 2013'

编辑:下面的评论是正确的

您没有显示您尝试的内容,DB模型也很不清晰。如果您不想在几分钟内关闭您的问题,请更新您的问题…您可以将您的代码发布到您尝试的行号位置吗?它应该适用于sql 2005:minstardate,而不是最早的插曲+1现在它是正确的: