sql 中排序先按某字段升序,后按某字段降序。

sql 中排序先按某字段升序,后按某字段降序。

如有 lawyer表 字段 id name money top position
1 张三 10 1 1
2 李四 20 3 2
3 小明 5 2 0
要求先按position 升序,在按money降序 在按top降序
结果应为 id name money top position
1 张三 10 1 1
2 李四 20 3 2
3 小明 5 2 0
我这样排 order by position,money desc,top desc 为什么
结果应为 id name money top position
2 李四 20 3 2
1 张三 10 1 1
3 小明 5 2 0

1.创建一个测试表

createtabletest_order2(idnumber,namevarchar2(20),moneynumber,topnumber,positionnumber);

2.ert试验数据

ertintotest_order2值(1,'zhangSAN,10,1,1);

ertintotest_order2values(2,'lisi,2031);

ertintotest_order2值(3,'晓明,50);

3、查询表记录,选择t。*,rowidfromtest_order2t;

4.编写SQL找到字母“a”的位置在表中的每条记录;也就是说,第一个以升序排序的位置,然后按照降序排列的钱,然后在顶部的降序排列;

selectt.*,rowidlocationfromtest_order2torderbyposition,moneydesc,topdesc,

温馨提示:内容为网友见解,仅供参考
第1个回答  2019-12-02

1、创建测试表,

create table test_order2(id number, name varchar2(20), money number, top number, position number);

2、插入测试数据

insert into test_order2 values (1, '张三', 10, 1, 1);

insert into test_order2 values (2, '李四', 20, 3, 2);

insert into test_order2 values (3, '小明', 5, 2, 0);

3、查询表的记录,select t.*, rowid from test_order2 t;

4、编写sql,查找字母'a'在表中各记录的位置;即实现,先按position 升序,再按money降序,再按top降序;

select t.*, rowid location from test_order2 t order by position, money desc, top desc,

本回答被网友采纳
第2个回答  推荐于2017-09-20
order by 后面的是从第一个开始的
order by position,money desc,top desc
的意思是
position升序排列,position相等时候 按money降序排,
position,money都相等时候,按top降序排本回答被提问者采纳
第3个回答  2009-05-27
order by position,money asc,top desc
第4个回答  2009-05-27
order by 跟多个字段,虽然语法不报错,但真正起作用的是跟在
它后面的第一个字段。

sql 中排序先按某字段升序,后按某字段降序。
4、编写sql,查找字母'a'在表中各记录的位置;即实现,先按position 升序,再按money降序,再按top降序;select t.*, rowid location from test_order2 t order by position, money desc, top desc,

sql 中排序先按某字段升序,后按某字段降序。
4.编写SQL找到字母“a”的位置在表中的每条记录;也就是说,第一个以升序排序的位置,然后按照降序排列的钱,然后在顶部的降序排列;selectt.*,rowidlocationfromtest_order2torderbyposition,moneydesc,topdesc,

如何用sql语句排序一个倒一个顺?
例如,按学生学号升序排列,学生成绩按降序排列\\x0d\\x0asql是这样写的:select * from tab order by id,scroe desc\\x0d\\x0asql server会根据order by跟id scroe 先后进行排序,\\x0d\\x0a先根据id升序排序,再根据scroe降序排序,也许你会发现scroe列的数据不是按照降序排列\\x0d\\x0a这...

SQL语句中, asc是指升序排列, desc是指?
SQL 语句中, asc是指定列按升序排列,desc则是指定列按降序排列。排序子句语法:order by 列名 asc\/desc 例表格:tt 1、按列n2的升序排列 select * from tt order by n2 asc;2、按列n2的降序排列 select * from tt order by n2 desc;3、复合排序,先按列n1升序排列,再按n2降序排列 select ...

sql升序降序排列(sqlserver降序排列)
语法:sql可以根据字段进行排序,其中,DESC表示降序,ASC表示升序 orderby字段名DESC;按照字段名降序排序 orderby字段名ASC;按照字段名升序排序 实例:一、\/*查询学生表中姓名、学号,并以学号降序排序*\/ selectname,StuIDfromStudents_informationorderbyStuIDdesc\/**orderby以什么排序,默认为升序,desc是...

SQL 如何根据两个字段排序
1、首先建一张测试表coal_blead,里面有多个字段 2、我们输入“select * from coal_blead order by qnet,price”语句,按qnet,price字段进行升序排序 3、我们输入“select * from coal_blead order by qnet desc,price desc”语句,先按qnet字段进行降序,再按price字段进行降序 4、输入“select * ...

SQL查询结果排序
在SQL查询中,数据排序是常见的需求。默认情况下,ORDER BY子句会让结果按照升序排列,可用ASC关键字明确表示,或者省略,因为默认就是升序。例如,查询职员信息时,不指定排序方式,数据会自动按姓名或薪水升序排列。如果需要降序排列,就需要在排序后加上DESC关键字。例如,查询职员薪水时,使用DESC关键字,...

SQL数据排序 - ORDER BY子句
排序可以使用列名或列位置数字指定,例如优先按price降序排列,再按product_name升序排列。习惯上使用列位置数字以减少输入。注意:不同数据库排序规则可能不同,可通过设置MySQL排序规则或在查询语句中指定排序规则以确保结果符合预期。总结:ORDER BY语句提供灵活的排序功能,是SQL查询中不可或缺的一部分。

SQL 问题 如何这样排序 先一个字段,后在另外一个字段
很简单,select * from test order by number,atype desc 解释:order by number,atype desc 此短语的作用是:首先按number的值由小到大列记录,当此字段的值相同时,再按第二个字段atype 由大到小排记录 ,desc表示降序。默认是升序排列。

sql语句中升序和降序的表示
1、sql通过order by来控制排序,select * from 表名 order by ID asc表示按照id列升序,order by ID desc 则表示按照id降序,如果不指明是asc还是desc则是默认为asc升序。order by xx代表对xx进行升序排列,order by xx desc 代表对xx进行降序排列,desc表示降序。2、SQL语句汇总函数count求某列的...

相似回答