【发布时间】:2023-03-22 07:46:01
【问题描述】:
我创建了一个表,例如“Table1”,见下文;
Name Year
John 2003
Lyla 1994
Faith 1996
John 2002
Carol 2000
Carol 1999
John 2001
Carol 2002
Lyla 1996
Lyla 1997
Carol 2001
John 2009
根据上表,我总结了我的发现。
- Carol连续4年参加; 1999、2000、2001、2002
- 约翰连续三年参加; 2001, 2002, 2003 – John 也参加了 2009 年,但这不计入连胜纪录。
- Lyla 参加了 1994、1996、1997 年,但这不是连续三年。
- Faith 只参加了 1 次。
我要做的是编写一个 SQL 查询,其中仅显示表中的名称 ID,其中用户连续 3 年或更长时间参与,所以我应该只得到“卡罗尔”和'约翰' 基于上述内容。
我不太确定如何写这个,希望有人可以指导我。
我只是想出了一个简短的基本开始,如下所示,但老实说,我不确定这是否是正确的方法。
Select Name From Table1
Where Year = ?
Order by Name asc
Group by Year
【问题讨论】:
-
如果您已经创建了表作为示例,那么还请包括 DDL 和 INSERT 语句..
标签: sql sql-server