SQL语句排序的问题

2024-12-08 10:57:23
推荐回答(5个)
回答1:

你的写法是错误的,按照你的写法在对n进行降序排序时,第一个m升序排序结果会失轿枣好效,等于最终只读n做了降序排序,而且你的语句本身也比较冗余。

正确的写法是:

SELECT * FROM a ORDER BY m ASC ,n DESC;

我们可以通过一些实例来具体分析order by 子句的用法:

假设有Orders 表:

1、实例 1

以字母顺序显示公司名称:

SELECT Company, OrderNumber FROM Orders ORDER BY Company

结果如下:

2、实例闭铅 2

以字母顺序显示公司名称(Company),并以数字顺序显示顺序号(OrderNumber):

SELECT Company, OrderNumber FROM Orders ORDER BY Company, OrderNumber

结果如下:

3、实例 3

以逆字母顺序显示公司名称:

SELECT Company, OrderNumber FROM Orders ORDER BY Company DESC

结果如下:

4、实例 4

以逆字母顺序显示公司名称,并以数字顺序显示顺序号:

SELECT Company, OrderNumber FROM Orders ORDER BY Company DESC, OrderNumber ASC

结果如下:

注意:在以上的结果中有两个相等的公司名称岩老 (W3School)。只有这一次,在第一列中有相同的值时,第二列是以升序排列的。如果第一列中有些值为 nulls 时,情况也是这样的。

回答2:

1、升序排列【ORDER BY】

SELECT StudentID,Score  FROM Score  ORDER BY Score
SELECT StudentID 姿让胡AS 学迹拦生编号,(Score*0.9+5) AS 综合成绩
FROM Score
WHERE (Score*0.9+5)>60
ORDER BY Score

2、降序排列【DESC】

SELECT StudentID,Score  FROM Score  ORDER BY Score DESC


3、按多列排序

SELECT StudentID AS 学生编号, CourseID AS 课程ID, Score AS 成绩
FROM Score
WHERE Score > 60
ORDER BY CourseID, 滑局Score

回答3:

应该是这样吧:正码

SELECT * FROM a ORDER BY m,n desc

意思是,优先安装m升序排序,对于m相同的数据,按照n降序排序

你自己的写法的意思是:

先按升序排序,然后银凳对查询结果再按降序排序;其结果是按照降举搏哪序排序。

就是说,你第一次排序是不需要的。


你的写法适合于分页查询,然后按照降序展示数据的情况。

回答4:

要第

第二行挨着
共同
属性
用ORDER
BY
PLACE,BEFOREGROUPING
排序

第1行
01
1
第4行
02
1
第3行
01
2
第2行
02
2
排序要

必须要第三列
参数
确定谁
谁挨着

谁没前
谁挨着
共唤则
某属性

属性
靠和察棚第三列

否则
逻辑



属性列叫作组别

ORDER
BY
组别,BEFOREGROUPING,PLACE
查询结

组别
BEFOREGROUPING
PLACE
1
01
1
1
02
2
2
01
2
2
02
1

回答5:

首先你要读出的字段要知道
比如你只读出title就不需要用select *了这样会增加检索时间
你可以写成
select 字段1,字段2,字段3,字段4
像这样字段就是你要用的
如果你是主题列表我想没有必要读出内容吧对不迅袭对
这样可以大大减少亩孝兄检索时间提交读库速度从而起慎旦到优化作用