`
zzc1684
  • 浏览: 1224511 次
  • 性别: Icon_minigender_1
  • 来自: 广州
文章分类
社区版块
存档分类
最新评论

Sql学习第三天——SQL关于with ties

阅读更多
Sql学习第三天——SQL 关于with ties

Sql学习第二天——SQL DML与CTE解释
http://www.2cto.com/database/201303/197233.html
 
关于with ties
对于with ties一般是和Top , order by相结合使用的,会查询出最后一条数据额外的返回值(解释:如果按照order by 参数排序TOP n(PERCENT)返回了前面n(pencent)个记录,但是n+1…n+k条记录和排序后的第n条记录的参数值(order by 后面的参数)相同,则n+1、…、n+k也返回。n+1、…、n+k就是额外的返回值)。
实验:
实验用表(PeopleInfo):
 
CREATE TABLE [dbo].[PeopleInfo](
  [id] [int] IDENTITY(1,1) NOT NULL,
  [name] [nchar](10) COLLATE Chinese_PRC_CI_AS NULL,
  [numb] [nchar](10) COLLATE Chinese_PRC_CI_AS NOT NULL,
  [phone] [nchar](10) COLLATE Chinese_PRC_CI_AS NULL
) ON [PRIMARY]
 
 向表中插入数据:
 
insert into peopleinfo([name],numb,phone) values ('李欢','3223','1365255')
insert into peopleinfo([name],numb,phone) values ('李欢','322123','1')
insert into peopleinfo([name],numb,phone) values ('李名','3213112352','13152')
insert into peopleinfo([name],numb,phone) values ('李名','32132312','13342563')
 
  查看插入的全部数据:
 
select * from dbo.PeopleInfo
 
  结果图:
 操作步骤1:不用with ties
代码:
 
select top 3 * from peopleinfo order by [name] desc
 
结果如图:
 操作步骤2:用with ties
代码:
 
select top 3 with ties * from peopleinfo order by [name] desc
 
结果如图:
如果with ties不与top和order by结合使用的错误示范:
操作步骤1:不与order by结合使用,只和top结合使用:
代码:
 
select top 3 with ties * from peopleinfo
 
错误消息如图:
   操作步骤2:不与top结合使用,只和order by结合使用:
代码:
 
select with ties * from peopleinfo order by [name] desc
 
错误消息如图:
 操作步骤3:不与top结合使用也不与order by结合使用:
代码:
 
select with ties * from peopleinfo
 
错误消息如图:
 
分享到:
评论

相关推荐

    Sql学习第三天——SQL 关于with ties介绍

    而在第二个例子中,当我们添加`WITH TIES`,如果第四个人的名字与第三个人相同,那么这个人也会被包含在结果集中。 如果我们尝试单独使用`WITH TIES`而不与`TOP`或`ORDER BY`一起使用,SQL Server会抛出错误,因为`...

    Access采用sql语句与sql的区别

    SQL Server 7.0 需要一个明确的 WITH TIES 子句。 | | CREATE INDEX | 允许创建升序和降序索引。允许声明主键,没有 Null 值,并且忽略 Null 值。 | DROP INDEX 语法是:Drop Index <index name> ON <table name> | ...

    SQL实验报告 主要用于查询语句

    SELECT TOP 10 WITH TIES (quantity2707 * price2707) AS orderAmount, orderNo2707, ProductNo2707, quantity2707, price2707 FROM OrderDetail2707 ORDER BY (quantity2707 * price2707) DESC ``` 7. **逻辑...

    java语言的分页查询功能(mysql和sql server)

    MySQL使用`LIMIT`和`OFFSET`关键字,而SQL Server则使用`TOP`和`WITH TIES`或`ROW_NUMBER()`函数。 二、Java中的分页查询 1. JDBC基础:Java标准API中的JDBC(Java Database Connectivity)提供了与数据库交互的...

    ACCP5.0S2(SQL)(4)

    2. 正范式(Normal Forms):掌握第一范式(1NF)、第二范式(2NF)、第三范式(3NF)以及BCNF(博科斯范式),理解它们在减少数据冗余和提高数据一致性中的作用。 3. 关系数据模型:深入理解表、字段、主键、外键等...

    SQL语句用于分批显示结果 分页

    - 使用 `WITH TIES`(SQL Server):在某些情况下,`WITH TIES` 可以避免额外的子查询,尤其是在处理“上一页”和“下一页”链接时。 总之,分页是数据库查询中不可或缺的一部分,正确地利用上述方法可以在不牺牲...

    SQLServer分页.rar

    除了`OFFSET/FETCH`方法,SQL Server还支持使用`TOP`和`WITH TIES`配合`ROW_NUMBER()`函数进行分页,这种方法在某些情况下可能更高效: ```sql WITH CTE AS ( SELECT TOP (10 + @PageSize) *, ROW_NUMBER() OVER ...

    Oracle的sql语句练习题及参考答案

    9. **分页**:`LIMIT`和`OFFSET`在某些数据库系统中用于实现数据分页,但Oracle使用`ROWNUM`或`FETCH NEXT`结合`WITH TIES`来实现类似功能。 10. **动态SQL**:允许在运行时构建和执行SQL语句,增强了SQL的灵活性,...

    sqlserver 实现分页的前台代码 以及后台的sqlserver语句

    SQL Server提供了多种方式实现分页,比如`ROW_NUMBER()`函数配合`OFFSET/FETCH`子句,或者`TOP`和`WITH TIES`结合`ORDER BY`。这里我们使用`ROW_NUMBER()`方法: ```sql WITH CTE AS ( SELECT *, ROW_NUMBER() ...

    常用T-SQL语句快速参考

    [TOP n [PERCENT] [WITH TIES]] ``` 其中`ALL`表示返回所有行,`DISTINCT`则只返回不重复的行。`TOP`关键字用于限制返回的结果集行数或百分比。`WITH TIES`则确保在遇到并列时返回所有行。 - **Select_list**可以...

    用于oracle,mysql,sqlserver,数据库分页联合查询

    对于SQL Server,其使用TOP和WITH TIES关键字配合OVER()函数实现分页。以下是如何获取前10行(即第10页,每页10条)的示例: ```sql SELECT TOP 10 * FROM ( SELECT *, ROW_NUMBER() OVER(ORDER BY some_column) ...

    SQL入门使用与高级使用 doc版

    5. 分页:`LIMIT`和`OFFSET`在MySQL中,或者`TOP`和`WITH TIES`在SQL Server中实现分页查询。 6. 视图(VIEW):创建虚拟表,方便多次使用的复杂查询。 7. 存储过程:预编译的SQL语句集合,可以包含复杂的业务逻辑,...

    sql语言的高级用法

    另外,使用`WITH TIES`选项可以在结果集中包含所有与最后一个满足`TOP n`条件的记录具有相同值的记录,从而可能返回超过n个记录。 #### 二、使用聚集函数进行数据汇总 聚集函数是SQL中处理集合数据的强大工具,...

    SQLServer2019中的十个最重要的T-SQL增强功能-图文.pptx

    9. **TOP增强功能**:TOP关键字现在可以与WITH TIES一起使用,允许选择满足特定条件的所有行,而不仅仅是指定的数量。 10. **T-SQL与CLR集成(Integration with CLR)**:T-SQL与.NET Common Language Runtime(CLR...

    sql server书籍技巧.rar

    OFFSET/FETCH或者TOP/NEXT结合WITH TIES用于实现分页查询,提高大数据集的处理效率。 4. **流水编号**:ROW_NUMBER()函数常用于生成连续的流水号,结合OVER()和PARTITION BY子句可以实现分组内的序列号,常用于分页...

    access sql 语句

    在SQL Server 7.0及更高版本中,需要使用WITH TIES子句来实现相同功能。 8. **索引创建**: - Access允许创建升序和降序索引,且可以声明主键并忽略NULL值。 - SQL Server创建索引时,需指定索引类型,如升序或...

    第八讲:Transact-SQL语言基础.ppt

    [ TOP n [ PERCENT ] [ WITH TIES ] ] 查询表 > 其中,查询表 > 语法块进一步定义如下: 查询表 > ::= { * | { 表名 | 视图名 | 表别名}.* |{ 列名|表达式|IDE, 在Transact-SQL语言中,还有许多其他的语句和...

    SQL排序查询_IT文库

    此外,在某些数据库系统中,还可以使用WITH TIES来保留与最后一行相同值的行。 除了TOP关键字,SQL查询中还有其他子句可以帮助我们控制查询结果。SELECT子句用于指定查询结果中包含哪些列,FROM子句用于指定要查询...

    SQL交互式查询--单表查询.doc

    本次实验旨在通过一系列具体的SQL查询案例,加深对SQL语言的理解与应用能力,特别是针对单表查询的各种操作技巧进行实践学习。实验环境为Windows 7 旗舰版操作系统下运行SQL Server 2005,通过对一个模拟的产品信息...

Global site tag (gtag.js) - Google Analytics