复制代码代码如下所示:
创建表****** / / ******
如果存在(SELECT * FROM dbo.sysobjects id是object_id(N'{ } { }dbo。表)和客体(ID)= 1)
删除表{ DBO }。{表}
去
创建表({ } {表} dbo。
{标识(1, 1)不为null,
{ } { } Y nvarchar(50)整理chinese_prc_ci_as不空,
{ } { }不空smalldatetime X
在{主}上
去
插入数据
插入表} {(Y,X)的值(CCC,'2007-02-02 02:02:02)
插入表} {(Y,X)的值('AAA','2007-02-02 02:02:02)
插入表} {(Y,X)的值('AAA','2007-03-03 03:03:03)
插入表} {(Y,X)的值({BBB},'2007-01-01 01:01:01)
插入表} {(Y,X)的值({BBB},'2007-02-02 02:02:02)
插入表} {(Y,X)的值({BBB},'2007-03-03 03:03:03)
插入表} {(Y,X)的值(CCC,'2007-01-01 01:01:01)
插入表} {(Y,X)的值('AAA','2007-01-01 01:01:01)
插入表} {(Y,X)的值(CCC,'2007-03-03 03:03:03)
插入表} {(Y,X)的值('ddd ','2007-01-01 01:01:01)
插入表} {(Y,X)的值('ddd ','2007-02-02 02:02:02)
插入表} {(Y,X)的值('ddd ','2007-03-03 03:03:03)
插入表} {(Y,X)的值('eee ','2007-01-01 01:01:01)
插入表} {(Y,X)的值('eee ','2007-02-02 02:02:02)
插入表} {(Y,X)的值('eee ','2007-03-03 03:03:03)
去

创建表****** / / ******
如果存在(SELECT * FROM dbo.sysobjects id是object_id(N'{ } { }dbo。表)和客体(ID)= 1)
删除表{ DBO }。{表}
去
创建表({ } {表} dbo。
{标识(1, 1)不为null,
{ } { } Y nvarchar(50)整理chinese_prc_ci_as不空,
{ } { }不空smalldatetime X
{主}
去
插入数据
插入表} {(Y,X)的值(CCC,'2007-02-02 02:02:02)
插入表} {(Y,X)的值('AAA','2007-02-02 02:02:02)
插入表} {(Y,X)的值('AAA','2007-03-03 03:03:03)
插入表} {(Y,X)的值({BBB},'2007-01-01 01:01:01)
插入表} {(Y,X)的值({BBB},'2007-02-02 02:02:02)
插入表} {(Y,X)的值({BBB},'2007-03-03 03:03:03)
插入表} {(Y,X)的值(CCC,'2007-01-01 01:01:01)
插入表} {(Y,X)的值('AAA','2007-01-01 01:01:01)
插入表} {(Y,X)的值(CCC,'2007-03-03 03:03:03)
插入表} {(Y,X)的值('ddd ','2007-01-01 01:01:01)
插入表} {(Y,X)的值('ddd ','2007-02-02 02:02:02)
插入表} {(Y,X)的值('ddd ','2007-03-03 03:03:03)
插入表} {(Y,X)的值('eee ','2007-01-01 01:01:01)
插入表} {(Y,X)的值('eee ','2007-02-02 02:02:02)
插入表} {(Y,X)的值('eee ','2007-03-03 03:03:03)

最新的X经典SQL Y解决了以下每种方法的问题:它是八个跨海的神仙。
复制代码代码如下所示:

选择id,y,x
从表t1
在哪里(不存在)
(选择1
从{ T2
在何处
T2。x = T1。X和t2.id > T1。ID))))
***************************************************************************** / /
*选择
从{表}
我在哪里
(Select MAX(t1))
从表t1连接
(选择y,max(x)x
从{表}
按y,T1,T2,y,x和x)。
按t1和y分组)
***************************************************************************** / /
选择t.id,T,Y,T,X
从表T内部连接
(Select MAX)
从表t1连接
(选择y,max(x)x
从{表}
按y,T1,T2,y,x和x)。
组T1,T2 t.id = t2.id Y)
***************************************************************************** / /
*选择
从表t1
我在哪里
(选择top 1 id)
从{表}
其中y = t1
X倒序)
***************************************************************************** / /
*选择
从表t1
在哪里(= id)
(选择top 1 id)
从{表}
其中y = t1
X倒序,ID号)))
***************************************************************************** / /

***************************************************************************** / /
选择id,y,x
从表t1
在哪里(不存在)
(选择1
从{ T2
在何处
T2。x = T1。X和t2.id > T1。ID))))
***************************************************************************** / /
*选择
从{表}
我在哪里
(Select MAX(t1))
从表t1连接
(选择y,max(x)x
从{表}
按y,T1,T2,y,x和x)。
按t1和y分组)
***************************************************************************** / /
选择t.id,T,Y,T,X
从表T内部连接
(Select MAX)
从表t1连接
(选择y,max(x)x
从{表}
按y,T1,T2,y,x和x)。
组T1,T2 t.id = t2.id Y)
***************************************************************************** / /
*选择
从表t1
我在哪里
(选择top 1 id)
从{表}
其中y = t1
X倒序)
***************************************************************************** / /
*选择
从表t1
在哪里(= id)
(选择top 1 id)
从{表}
其中y = t1
X倒序,ID号)))

/ *****************************************************************************
效率好/在不同的领域,索引速度不一样,用户不同,观点不同。
第一种方法在各个方面都很好,在Y列设置索引中可以极大地优化查询速度。