【问题标题】:SELECT TOP 1 for each reference id [closed]为每个参考 ID 选择 TOP 1 [关闭]
【发布时间】:2013-07-21 05:20:24
【问题描述】:

这些是我的简化表格..

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 日之后开始的人。我尝试使用 Row_Number 和分区,但我使用的是 Sql Server 2005,它不喜欢 Row_Number()。

【问题讨论】:

标签: sql sql-server-2005 select


【解决方案1】:

使用:

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

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

【讨论】:

  • min(stardate) 代替(最旧的一集)
  • +1 现在是正确的 :)
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 2020-01-26
  • 2014-09-10
  • 1970-01-01
  • 1970-01-01
  • 2013-06-25
  • 2018-06-14
  • 1970-01-01
相关资源
最近更新 更多