导航:首页 > 编程大全 > 数据库查询排序

数据库查询排序

发布时间:2023-06-17 01:11:07

1. ACCESS数据库分类查询后结果为什么是排序的

一种情况是该分类查询使用了 order by 排序子句强制实施了排序;
另一种情况是该分类查询并没用强制排序,但是实际输出结果看起来还是排序了。导致这种现象出现的原因是比较复杂的,它是由源表的数据结构(如字段类型、索引等)、SQL语句的写法和数据库引擎执行SQL语句的内部算法综合作用导致的。
下面举个简单的情况说明一下,例如:
select 商品分类,count(*) as 分类数量 from 商品表 group by 商品分类;
这条语句即使不强制排序,实际输出结果也会按商品分类排序输出,因为数据库引擎在后台计算每个分类的数量实际是首先要将各条商品记录按商品分类排序后再来按顺序数人头的(每个分类的数量),这样计算结果出来后附带的排序效果也自然有了,如果数据库引擎再将它打乱输出反而需要在此基础上额外增加系统开销。
需要指出的是SQL选择查询执行后自然形成的排序效果在很多情况下是很难预料的(除非您是基础数据库开发工程师),因此我们应该根据实际需求决定是否人为对输出结果强制排序。

2. 数据库查询时怎么按照多个字段进行排序

sql
使用order
by
排序
select
*
from
table
order
by
value1,value2
根据字段value1和value2排序默认是升序
select
*
from
table
order
by
value1,value2
desc
按照降序排序

3. 数据库树形结构数据的查询结果排序问题

不知道你的数据库是什么,如果是oracle的话,你用start with connect by试试。我不太确定能不能直接出来你要的效果。如果出不来,那么用start with connect by+union all+条件判断(分别写每一个level=1的情况)应该可以,不过如果level=1有很多个,那么就麻烦了。
还有一种办法是利用字符串排序。比如1-1-1-2,1-2-1-2,1-1-1-3,那么排完序之后应该是1-1-1-2,1-1-1-3,1-2-1-2.至于这个参数的出来方法就要去凑了。因为我担心还有例如1-1-1-2-1这样的,如果存在这样的,那么按照你的要求排序应该是
1-1-1-2,1-1-1-2-1,1-1-1-3,1-2-1-2,可是如果按照数字排序那么1-1-1-2-1肯定在最后,所以用字符排序可能才能达到你的要求。(还是用start with connect by)
比如这里最后的编码为
Level层数 父件代号 子件代号 子件顺序 编码
1 root C 1 1-1
1 root D 2 2-1
1 root F 3 3-1
2 C A 1 1-1-2-1
2 C B 2 1-1-2-2
2 D E 1 2-1-2-1
我这里没有环境,没办法测试,所有的内容均为猜想,仅供参考。

4. 数据库排序语句

数据库的排序用order by语句实现。

工具:sqlserver 2008R2

步骤:

1、有如下学生表:

阅读全文

与数据库查询排序相关的资料

热点内容
dojojsonapi 浏览:382
文件的概念包括哪些 浏览:930
建什么微信群人气旺 浏览:848
数控车床中对刀怎么编程 浏览:948
excel和word的文件合并 浏览:584
word文件恢复历史版本 浏览:366
qq密码txt 浏览:196
数据流图是什么阶段产生的 浏览:548
企业公司网站模版 浏览:879
苹果在哪里设置输入法 浏览:370
tex文件在win10怎么打开 浏览:154
mastercam怎么编程端面槽 浏览:158
win10文件夹运行缓慢 浏览:822
数控车车扁位怎么编程 浏览:782
qq360 浏览:654
红米1s如何关闭后台程序 浏览:819
java串行化 浏览:172
网络营销公司如何 浏览:310
链接文件路径错了怎么办 浏览:251
用c语言模拟一个虚拟文件系统 浏览:69

友情链接