sql中orderby
⑴ sql里面的order by语句是干什么用的
order by为排序表达式,用于指定排序的依据,它可以是字段名也可以是字段别名。
例--.对成绩表先按课程编号,再按成绩,然后按学号排列
select *
from 成绩表
order by 课程编号,成绩,学号
--.查询成绩表中成绩最高的前五条记录,显示与第五条成绩相同的记录
select top 5 with ties *
from 成绩表
order by 成绩 desc
ASC和DESC用于指定排序方式。前者指定字段的值按照升序排列,后者按照降序排列,默认顺序为升序。
⑵ 若sql语句中order by指定了多个字段,则怎么排序
order by id desc,time desc
先是按 id 降序排列 (优先)
如果 id 字段 有些是一样的话 再按time 降序排列 (前提是满足id降序排列)
order by name, age desc
name优先
name一样的话,就按age排序。
后面再加第三列的话,也是一样 以此类推下去。
(2)sql中orderby扩展阅读:
mySql order by 几种排序的写法
1、单列升序:select<column_name> from <table_name> order by <column_name>; (默认升序,即使不写ASC)
2、单列降序:select <column_name> from <table_name> order by <column_name> desc;
3、多列升序:select <column_one>, <column_two> from <table_name> order by <column_one>, <column_two>;
4、多列降序:select <column_one>, <column_two> from <table_name> order by <column_one> desc, <column_two> desc;
5、多列混合排序:select <column_one>, <column_two> from <table_name> order by <column_one> desc, <column_two> asc;
⑶ sql中的orderby是什么意思它是在什么
order by 是排序的意思。
order by 列名1,列名2,..... 你按照什兄历么排序就写什么列。 如果列名后什么都不写,也可以核轮写ASC,表示升序排羡氏搜列,如果要想降序排列,在列名后面写desc 。
⑷ SQL里面的order by语句是干什么用的
order by为排序表达式,用于指定排序的依据,它可以是字段名也可以是字段别名。裂带信
例--.对成绩行码表先按课程编号,再按成绩,然后按学号排列
select *
from 成绩表
order by 课程编号,成绩,学号
--.查询成绩表中成绩最高的前五条记录,显示与第五条成绩肆轮相同的记录
select top 5 with ties *
from 成绩表
order by 成绩 desc
ASC和DESC用于指定排序方式。前者指定字段的值按照升序排列,后者按照降序排列,默认顺序为升序。
⑸ sql语句中的order by
order
by这个指令来达到我们的目的。
order
by
的语法如下:
select
"栏位名"
from
"表格名"
[where
"条件"]
order
by
"栏位名"
[asc,
desc]
[]
代表
where
是一定需要的。不过,如果
where
子句存在的话,它是在
order
by
子句之前。
asc
代表结果会以由小往大的顺序列颤高帆出,而
desc
代表结果会以由大往小的顺序列出。如果两者皆没有被写出的话,那我们就会用
asc。
我们可以念旅照好几个不同的栏位来排顺序。在这个情况下,
order
by
子句的语法如下(假设有两个栏位):
order
by
"栏位一"
[asc,
desc],
"栏位二"
[asc,
desc]
若我们对这两个栏位都选择由小往大的话,那这个子句就会造成结果是依据
"栏位一"
由小往大排。若有好几笔资料
"栏位一"
的值相等,那茄雹这几笔资料就依据
"栏位二"
由小往大排。
⑹ sql 排序,order by 按时间
sql排序是指定时间字段才能按照时间排序,asc默认升序,desc默认降序。
ORDER BY 语句
ORDER BY 语句用于根据指定的列对结果集进行排序。
ORDER BY 语句默认按照升序对记录进行排序。
如果您希望按照降序对记录进行排序,可以使用 DESC 关键字。
比如要排序:
select date from tablename order by date desc
按date降序排列。
⑺ sql里的排序倒序的命令是order by什么
order by子句是指定查询的排序。
ORDER BY 语句用于对结果集进行排序。
ASC:升序(默认),DESC:降序。
ORDER BY 语句默认按照升序对记录进行排序。
如果希望按照降序对记录进行排序,可以使用 DESC 关键字。
⑻ SQL语句Order by两个条件怎么写
ORDER BY 后可加2个字段,用英文逗号隔开。
f1用升序, f2降序,sql该这样写
ORDER BY f1, f2 DESC
也可以这样写,更清楚:
ORDER BY f1 ASC, f2 DESC
如果都用降序,必须用两个desc
ORDER BY f1 DESC, f2 DESC
⑼ 第六十四章 SQL命令 ORDER BY(二)
下面的示例按照 RowID 的反向顺序对记录进行排序:
下面两个示例展示了在 ORDER BY 子句中指定排序列的不同方法。
下面两个查询是等价的;
第一种方法使用列名作为排序项,第二种方法使用列号(选择项列表中项目的序号):
下面的示例按包含IRIS列表数据的字段进行排序。
因为IRIS列表是一个以格式化字符开始的编码字符串,所以本例使用 $LISTTOSTRING 来按实际字段数据值排序,而不是按列表元素编码:
动态SQL可以使用输入参数为 ORDER BY 子句提供文字值;
它不能使用输入参数来提供字段名、字段别名、字段号或排序关灶薯键字。
下面的动态SQL示例使用输入参数按名字对结果集记录进行排序:
以下基于游标的嵌入式SQL示例执行相同的操作:
ORDER BY 子句中使用的每个字面值都会生成一个不同的缓存查询。
不对 ORDER BY 字面值执行字面值替换。
这是因为 ORDER BY 可以使用整数来指定列号。
更改这个整数将导致一个完全不同的查询。
可以使用 CASE 表达式定义一个通用查询,该查询可以根据提供的主机变量值进行排序。
例如,下面的示例可以根据名称或年龄排序,这取决于 var 的值:
下面的示例指定了两个 CASE 表达式。
它按任何情况计算为true进行排序。
如果两种情况都为真,则按国家排序,在国家内按城市排序:
ASC 和 DESC 参滚斗数在 CASE END 关键字之后指定。
注意,在 CASE 表达式中必须根据列名指定字段。
在此上下文大辩磨中,不能指定列别名或列号。
ORDER BY ordering-item 的值不应该超过(大约) 400 到 500 个字符,这取决于 ordering-item 的数量和其他因素。
如果一个 ordering-item 值超过这个最大长度,则运行带有 ORDER BY 子句的查询可能会导致 SQLCODE -400 致命错误。
这是因为全局引用的最大编码长度有限制,这是一个固定的 IRIS系统限制。
为了防止这个问题,在作为 ORDER BY 子句基础的字段的排序规则设置中使用截断长度。
例如,以下查询超过了这个限制:
添加一个 maxlen 截断长度的排序函数允许该程序成功执行:
IRIS将字段的已整理值截断为 400 个字符。
请记住,如果字段内容在前 400 个字符内不是唯一的,则数据可能稍有混乱,但这种情况不太可能发生。
如果出现这种情况,可以尝试通过使用更大的值进行截断来避免显示无序的数据;
但是,如果值太大,将导致 <SUBSCRIPT> 错误。
还要注意,最大长度是全局引用的整个编码长度,包括全局名称的长度。
它不是简单的下标。
⑽ sql注入中order by的作用
楼主关心的是SQL注入中order by的作用,而不是SQL语句中,ORDER BY的作用。
SQL注入可以让黑客盗取到相关的用户信息,使用ORDER BY语句来进行盗取的话,操作过程还是很复杂的,有一篇博客文章可供你参考。
http://blog.csdn.net/zhaohengyuan/archive/2010/04/08/5462930.aspx
(非常见SQL注入漏洞及利用 Unusual SQL injection vulnerabilities and how to exploit them )