文档详情

主题查询结果排序刘志成34课件.pptx

发布:2025-06-05约1.21千字共6页下载文档
文本预览下载声明

主题:查询结果排序(主讲人:刘志成)

1ORDERBY子句和排序规则在利用T-SQL语句进行查询时,如果没有指定查询结果的显示顺序,DBMS将按其最方便的顺序(通常是记录在表中的先后顺序)输出查询结果。在SELECT子句中使用ORDERBY可以进行输出记录的排序显示。排序规则可以根据需要进行设置用ORDERBY子句对查询结果排序时,若按升序排列,为空值的记录将最后显示,若按降序排列,为空值的记录将最先显示中英文字符按其ASCII码大小进行比较数值型数据根据其数值大小进行比较日期型数据按年、月、日的数值大小进行比较逻辑型数据“false”小于“true”排序规则ORDERBY子句

2单关键字排序任务一:需要了解商品类别号为“01”的商品的商品号、商品名称和商品单价,并要求根据商品的价格进行降序(价格由高到低)排列SELECTg_ID,g_Name,g_PriceFROMGoodsWHEREt_ID=01ORDERBYg_PriceDESC实现语句

3多关键字排序任务二:需要了解价格在2500元以上的商品的商品号、商品名称、商品类别号和商品单价信息,并要求按类别号升序排列;如果是同一类别的商品,则按价格降序排列。SELECTg_ID,g_Name,t_ID,g_PriceFROMGoodsWHEREg_Price2500ORDERBYt_ID,g_PriceDESC实现语句

任务一:在订单表中按订单总额(o_Sum)进行排序,需要显示其中指定的第3~5条记录,通过这种方法实现分页SELECT*FROM( SELECTo_Id,o_Sum,ROW_NUMBER() OVER(ORDERBYo_Sum)ASrowset FROMOrders)AStempWHERErowsetBETWEEN3AND5借助于ROW_NUMBER可以很方便的实现分页。基本语句格式:ROW_NUMBER()????OVER([partition_by_clause]order_by_clause)使用RANK返回结果集的分区内每行的排名,行的排名是相关行之前的排名数加一。基本语句格式:RANK()????OVER([partition_by_clause]order_by_clause)SELECT*FROM( SELECTo_Id,o_Sum,RANK() OVER(ORDERBYo_Sum)ASrank FROMOrders)AStempWHERErankBETWEEN3AND54分页和排名任务二:在订单表中按订单总额进行排序,需要显示其中指定的第3~5条记录的排名情况

谢谢大家!

显示全部
相似文档