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

数据库查询排序

发布时间: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、有如下学生表:

阅读全文

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

热点内容
java架构培训 浏览:857
price是什么文件 浏览:258
手机游戏编程哪个好学 浏览:259
qq邮箱怎么发语音文件 浏览:494
php删除数据库记录 浏览:905
文件校验工具有哪些 浏览:158
苹果app被乱扣费怎么投诉 浏览:269
数据通信工程师要负责多少设备 浏览:904
excel有没有多个文件数据链接 浏览:842
郑州儿童编程课程应该怎么选择 浏览:103
word2003二级标题编号 浏览:370
ipad百度云盘压缩文件 浏览:912
什么网站可以发现新产品 浏览:680
led屏用什么编程 浏览:322
创意编程怎么弄场景切换 浏览:315
解压代码选择 浏览:875
电脑开机后桌面文件全都没有了 浏览:666
wap网站论坛 浏览:55
荣耀4版本信息显示什么字母 浏览:30
dnf虫链怎么升级 浏览:956

友情链接