
SELECT "栏位名" FROM "表格名" [WHERE "条件"] ORDER BY "栏位名" [ASC, DESC] [] 代表 WHERE 是不一定需要的。不过,如果 WHERE 子句存在的话,它是在 ORDER BY 子句之前。ASC 代表结果会以由小往大的顺序列出,而DESC 代表结果会以由大往小的顺序列出。如果两者皆没有被写出的话,那我们就会用 ASC。
一种情况是该分类查询使用了 order by 排序子句强制实施了排序;
另一种情况是该分类查询并没用强制排序,但是实际输出结果看起来还是排序了。导致这种现象出现的原因是比较复杂的,它是由源表的数据结构(如字段类型、索引等)、SQL语句的写法和数据库引擎执行SQL语句的内部算法综合作用导致的。
下面举个简单的情况说明一下,例如:
select 商品分类,count() as 分类数量 from 商品表 group by 商品分类;
这条语句即使不强制排序,实际输出结果也会按商品分类排序输出,因为数据库引擎在后台计算每个分类的数量实际是首先要将各条商品记录按商品分类排序后再来按顺序数人头的(每个分类的数量),这样计算结果出来后附带的排序效果也自然有了,如果数据库引擎再将它打乱输出反而需要在此基础上额外增加系统开销。
需要指出的是SQL选择查询执行后自然形成的排序效果在很多情况下是很难预料的(除非您是基础数据库开发工程师),因此我们应该根据实际需求决定是否人为对输出结果强制排序。
以上就是关于access数据库 排序从小到大是ORDER BY 参数,从大到小呢,order by要一定要大写吗全部的内容,包括:access数据库 排序从小到大是ORDER BY 参数,从大到小呢,order by要一定要大写吗、ACCESS数据库分类查询后结果为什么是排序的、等相关内容解答,如果想了解更多相关内容,可以关注我们,你们的支持是我们更新的动力!
欢迎分享,转载请注明来源:内存溢出
微信扫一扫
支付宝扫一扫
评论列表(0条)