Order by 在我们日常的数据库开发生活中是出镜率灰常高的。

order by 的作用就是用于对查询出来的结果进行排序~对啊~人家就是这么接地气~比如按发生时间啊,首字母啊之类的都是相当常见。

今天主要分享一下order by 的用法和样例。

常规用法

CREATE TABLE #Tmp1(
ID INT IDENTITY,
Col1 NVARCHAR(50),
Col2 NVARCHAR(max)
) INSERT INTO #Tmp1
( Col1 ,Col2)
VALUES (N'AAA',REPLICATE('AAA',5000 ))
,( N'aaa',REPLICATE('aaa',5000 ))
,(N'aAA',REPLICATE('aAA',5000 ))
,(N'aaA',REPLICATE('aaA',5000 )) SELECT *
FROM #Tmp1
ORDER BY ID

这个是最简单的~然后如果我们想奇数优先,偶数殿后~这个就用到了order by 里面的表达式技能~如

SELECT *
FROM #Tmp1
ORDER BY CASE WHEN ID%2 > 0 THEN 1 ELSE 2 END, ID

支持表达式~无论你是想要在order by 里面求和还是乘积,都通通可以满足你的要求~但是有一点,就是数据类型一致,起码是可以隐式转换成一致╮(╯_╰)╭。不然,1和a 谁大呢?

然后看下我的例子~虽然都是aaa,当然罗,大小写是不一样的,但是通常在我们默认的排序里面呢,大小写是不区分,a 和 A是一个人。如果要加上大小写排序罗,那就在order by 后面引用排序序列就好了

排序规则排序参考:https://msdn.microsoft.com/zh-cn/library/ms143726(v=sql.120).aspx

SELECT *
FROM #Tmp1
ORDER BY Col1 COLLATE Azeri_Latin_100_CS_AI ASC

但是有一些类型是是无法排序的,比如说ntext,text ,image ,xml ,地理类型 这些类型都无法使用 order by 进行排序。

然而,在2012之后的版本,sql server 提供了便捷的查询分页语句 Offset  fetch 语句 (然而好像mysql 之类的一早支持了这种写法,但是性能上面并没有比对过)

当我们取用前2行的写法,比之前写了一堆的分页语句在开发上确实便捷了好多好多

SELECT *
FROM #Tmp1
ORDER BY Col2 COLLATE Azeri_Latin_100_CS_AI ASC
OFFSET 0 ROWS
FETCH NEXT 2 ROWS only

有2点注意

1、offset 从0 开始,并不是1

2、如果offset 比 总返回行数多,将不返回任何行

谢谢又看我一本正经の胡说八道~祝大家新年继续快乐

今天说一下Order by 这个常规东西~的更多相关文章

  1. Git的基本使用方法和安装&心得体会

    1. git的安装和github的注册.代码托管.创建organization.邀请member. (1)git的安装 因为我电脑是windows系统,所以下载的是git for windows.在官 ...

  2. [转]NHibernate之旅(9):探索父子关系(一对多关系)

    本节内容 引入 NHibernate中的集合类型 建立父子关系 父子关联映射 结语 引入 通过前几篇文章的介绍,基本上了解了NHibernate,但是在NHibernate中映射关系是NHiberna ...

  3. NHibernate教程(9)一1对n关联映射

    本节内容 引入 NHibernate中的集合类型 建立父子关系 父子关联映射 结语 引入 通过前几篇文章的介绍,基本上了解了NHibernate,但是在NHibernate中映射关系是NHiberna ...

  4. ED3 flash 、OBP flash

    海力士.东芝等ED3 NAND Flash ED3的TLC编程规则相对于OBP来讲会简单许多,因为ED3的编程规则非常有规律,很容易掌握,ED3的每个WL页数量是固定的. ED3在对行地址的定义上与O ...

  5. 为什么说JAVA中要慎重使用继承 C# 语言历史版本特性(C# 1.0到C# 8.0汇总) SQL Server事务 事务日志 SQL Server 锁详解 软件架构之 23种设计模式 Oracle与Sqlserver:Order by NULL值介绍 asp.net MVC漏油配置总结

    为什么说JAVA中要慎重使用继承   这篇文章的主题并非鼓励不使用继承,而是仅从使用继承带来的问题出发,讨论继承机制不太好的地方,从而在使用时慎重选择,避开可能遇到的坑. JAVA中使用到继承就会有两 ...

  6. 来科普下游标(MSSQL)这东西。。。

    刚刚接到一个面试电话,对头的先生问我懂不懂触发器和存储过程,当时是觉得有些好笑,毕竟“视图.触发和存储”是咱数据库工程师的吉祥三宝,怎么可能不认识?只是稍后他还问了下游标这东西,仔细想想我是不常使用C ...

  7. MySQL的常规操作

    MySQL的常规知识 show 查看数据库 show databases; 查看表 存在的所有表 show tables; 创建表的命令 show create table table_name; 表 ...

  8. 渗透测试常规思路分析-FREEBUF

    最基础但练得好最后也非常厉害 1.  主要由于服务器配置等原因造成的信息泄露 常用google ,bing等搜索工具,轻量级的搜索出一些遗留后门,不想被发现的后台入口,中量级的搜索出一些用户信息泄露, ...

  9. U3D sorting layer, sort order, order in layer, layer深入辨析

    1,layer是对游戏中所有物体的分类别划分,如UIlayer, waterlayer, 3DModelLayer, smallAssetsLayer, effectLayer等.将不同类的物体划分到 ...

随机推荐

  1. python 局部变量和全局变量 global

    当你在函数定义内声明变量的时候,它们与函数外具有相同名称的其他变量没有任何关系,即变量名称对于函数来说是 局部 的.这称为变量的 作用域 .所有变量的作用域是它们被定义的块,从它们的名称被定义的那点开 ...

  2. 关于Bugzilla WebService接口

    参考:http://www.bugzilla.org/docs/3.2/en/html/api/Bugzilla/WebService.html http://www.bugzilla.org/doc ...

  3. SSO单点登录实现原理与总结

    一.什么是单点登录SSO(Single Sign-On) SSO是一种统一认证和授权机制,指访问同一服务器不同应用中的受保护资源的同一用户,只需要登录一次,即通过一个应用中的安全验证后,再访问其他应用 ...

  4. Verilog学习笔记基本语法篇(十三)...............Gate门

    Verilog中已有一些建立好的逻辑门和开关的模型.在所涉及的模块中,可通过实例引用这些门与开关模型,从而对模块进行结构化的描述. 逻辑门: and (output,input,...) nand ( ...

  5. Magnifier.js - 支持鼠标滚轮缩放的图片放大镜效果

    Magnifier.js 是一个 JavaScript 库,能够帮助你在图像上实现放大镜效果,支持使用鼠标滚轮放大/缩小功能.放大的图像可以显示在镜头本身或它的外部容器中.Magnifier.js 使 ...

  6. ionic + cordova 配置和开发过程中的一些问题

    1.Android sdk:ERROR: SWT folder '' does not exist.问题 在win x86系统中,如果运行Android的 sdk manager,会出现Android ...

  7. URL-统一资源定位器

    URL - Uniform Resource Locator URL 可以由单词组成,比如 “w3school.com.cn”,或者是因特网协议(IP)地址:192.168.1.253.大多数人在网上 ...

  8. ae_datagridview显示属性

    public partial class FrmAttributeTable : Form { private AxMapControl m_MapCtl; public FrmAttributeTa ...

  9. 8月7号晚7点Autodesk北京办公室,我们来聊聊HTML5/ WebGL 3D 模型浏览技术

    Autodesk 发布了一款完全无需插件的三维模型浏览器 Autodesk 360 Viewer,大家有没有兴趣,下班后过来聊聊吧!   8月7号 周四, 19:00~21:00 Autodesk北京 ...

  10. .Net元编程【Metaprogramming in NET】 序-翻译

    最近在看这本书,比较实用.抽点时间把公开的部分内容简单的翻译了一下,下文是序部分. 书的具体地址为: http://www.amazon.cn/Metaprogramming-in-NET-Hazza ...