T-SQL 随机返回特定行数据和分页查询 - MSSQL教程
发布时间:2014-05-02 14:04:38 所属栏目:MsSql教程 来源:站长网
导读:T-SQL 语言相较于标准SQL添加了很多特性,为了提高SQL Server的表现,是有必要深入了解的,面试时一般也会包 含这两个小问题。 首先,是在一个AdventureWorks中
T-SQL 语言相较于标准SQL添加了很多特性,为了提高SQL Server的表现,是有必要深入了解的,面试时一般也会包 含这两个小问题。
首先,是在一个AdventureWorks中Person.Address中随机返回5行信息,可以如下写: SELECT TOP 5 * FROM ( SELECT *,NEWID() as RandomID FROM Person.Address ) t ORDER BY t.RandomID 关键在于调用了内置函数NEWID()生成的随机数,并排序,取前5行。 分页查询,需要查询Person.Address中按城市排序后的第50-200行,当然可以写一个存储过程来专门按参数来查询。 SELECT * FROM ( SELECT *,ROW_NUMBER() OVER (ORDER BY City) as RowNumber FROM Person.Address ) AS t WHERE t.RowNumber BETWEEN 50 AND 200 关键是采用了ROW_NUMBER()函数,计算在所有查询行中当前行是排行第几,再筛选最后的结果。 总结:用一些语言的特性,虽然绑定了平台,不过,在一个大平台上,就无所谓了,用它还是值得的。 查看本栏目更多精彩内容:http://www.bianceng.cn/database/SQLServer/ (编辑:应用网_镇江站长网) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |
站长推荐
热点阅读