SQL SERVER数据库中order by的一些高级用法
本文章属于转载文章,原博客地址为:https://blog.csdn.net/dieyingao/article/details/4196142

先创建一个表
create table ai(
id int not null,
no varchar(10) not null
)
go

往表中插入数据
insert into ai
select 105,’2’
union all
select 105,’1’
union all
select 103,’1’
union all
select 105,’4’
go

查询效果如下
select * from ai go

id no
105 2
105 1
103 1
105 4

一:查询结果如下的解决方案
即要求no列的数据按’4’,’1’,’2’排列

id no
105 4
105 1
103 1
105 2

解决方案1

//利用函数CHARINDEX

select * from ai order by charindex(no,'4,1,2')

解决方案2,并且每组再按照id降序排列

//利用函数case

select * from ai order by case when no='4' then 1 when no='1' then 2 when no='2' then 3 end,id desc

解决方案3

//利用UNION 运算符

select * from ai where no='4'
union all
select * from ai where no='1'
union all
select * from ai where no='2'

二:查询要求指定no=’4’排第一行,其他的行随机排序

id no
105 4
105 2
105 1
103 1

解决方案

select * from ai order by case when no='4' then 1 else 1+rand() end

三:查询要求所有行随机排序
解决方案

select * from ai order by newid()

四:有一表ab有列i,其中数据如下:
i varchar(10)

id no
a 1
a 10
a 101
a 5
p 4
p 41
p 5

现在要求列i中数据先按字母排序,再按数字排序,效果如下

i varchar(10)

id no
a 1
a 5
a 10
a 101
p 4
p 5
p 41

a 1
a 5
a 10
a 101
p 4
p 5
p 41
解决方案

select * from ab order by left(i,1),convert(int,substring(i,2,8000))

sql server order by 的一些高级用法相关推荐

  1. SQL Server 中 with tmp 临时表的用法

    SQL Server 中 with tmp 临时表的用法 ----------with临时表用法,有时候采用临时表比采用in的效率更高,避免了全表扫描. 实例中实现了查询普通题.大题.子题目的sql ...

  2. oracle 数据库中order by 的一些高级用法

    oracle数据库中order by用法 oracle数据库中order by的一些高级用法 现有一个表,表内容如下: 以下的操作都是对该表进行的操作 1.按照名称排序(默认为升序) 实现代码: se ...

  3. SQL Server应用程序中的高级SQL注入[转]

    SQL Server应用程序中的高级SQL注入[从A.Z的POST里转载,经过整理] 作者:Chris Anley[chris@ngssoftware.com] An NGSSoftware Insi ...

  4. oracle12c order by,oracle 数据库中order by 的一些高级用法

    oracle数据库中order by用法 oracle数据库中order by的一些高级用法 现有一个表,表内容如下: 以下的操作都是对该表进行的操作 1.按照名称排序(默认为升序) 实现代码: se ...

  5. 42000[SQL Server]ORDER BY子句中的列无效,该列没有包含在聚合函数或GROUP BY 子句

    [Err] 42000 - [SQL Server]ORDER BY 子句中的列 "t_xxx.inputDate" 无效,因为该列没有包含在聚合函数或 GROUP BY 子 错误 ...

  6. mysql的组内排序生成序号_sql 分组查询,组内排序, 组内添加序号 (SQL Server 排序函数 ROW_NUMBER和RANK 用法总结)...

    下面的例子和SQL语句均在SQL Server 2008环境下运行通过,使用SQL Server自带的AdventureWorks数据库. -- 添加序列号 -- 行号用法: ROW_NUMBER() ...

  7. SQL Server 排序函数 ROW_NUMBER和RANK 用法总结

    下面的例子和SQL语句均在SQL Server 2008环境下运行通过,使用SQL Server自带的AdventureWorks数据库. 转载请注明此文原创自 CSDN TJVictor的专栏:ht ...

  8. MS SQL SERVER 中几个函数的用法

    1.STUFF 将第一个参数,从第start位置开始的length个字符(包含第start位置,位置从1开始),用第四个参数替换. Syntax ( character_expression , st ...

  9. SQL Server应用程序中的高级SQL注入

    作者:不详 来源:techtarget http://www.csai.cn 2006年5月11日 摘要:这份文档是详细讨论SQL注入技术,它适应于比较流行的IIS+ASP+SQLSERVER平台.它 ...

  10. SQL Server中Rowcount与@@Rowcount的用法 和set nocount on 也会更新@@Rowcount

    rowcount的用法: rowcount的作用就是用来限定后面的sql在返回指定的行数之后便停止处理,比如下面的示例, set rowcount 10 select * from 表A 这样的查询只 ...

最新文章

  1. Android内存管理之道
  2. Ceph分布式存储实战1.4 Ceph快速安装
  3. python爬虫赚钱的途径-如何用爬虫技术赚钱?
  4. eclipse总是运行上一个程序结果
  5. 最简单的视音频播放演示样例5:OpenGL播放RGB/YUV
  6. java map 输入 查询 修改_map的查询和修改方法
  7. asp.net hessian + android hessdroid
  8. 11.4 优化拆分和合并(region)
  9. (转)常用英语100句
  10. 阁下可知文言编程之精妙?文言文亦能编程!此诚年度最骚语言也,数天6K星...
  11. 【手写dubbo-2】超详细!netty实现群聊、私聊
  12. 趋势科技4月移动客户端病毒报告
  13. oracle rman delete backupset,RMAN Crosscheck后delete obsolete遇到RMAN-06091的解决
  14. NodeJS 中上传图片,并且在数据库中保存图片地址
  15. java验证密码_java实现验证用户账号密码的功能
  16. 银行网点管理转型专家
  17. 科软分数线狂降53分!凡是隔壁却。。。
  18. linux磁盘分区题目,Linux练习例题(附答案)
  19. PCL——超体素(SuperVoxel)、超体聚类分割
  20. 美军如何在不可信设备上安全访问国防部网络?

热门文章

  1. Python3.8场景式编程学习与训练- 第1章 入门基础 沙箱技术与虚拟环境创建
  2. linux cad 安装教程视频,Ubuntu18.04安装FreeCAD教程
  3. Shashlik Cooking(思维)
  4. VGG19图像风格迁移
  5. JS设计模式 - 单例模式
  6. 群晖7.X版安装cpolar内网穿透套件
  7. 苹果手机各种尺寸详细表苹果X、苹果XS、苹果XR、苹果XSMax、苹果11、苹果11 Pro、苹果 11 Pro Max 、苹果12、苹果12mini、苹果 12 Pro Max、苹果12pro 尺寸
  8. AD16 禁止联网操作
  9. 终端上网_TP-Link企业路由器IPv6上网配置指导
  10. 常识:如何从大陆拨打国际长途电话到境外的方法