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

2024-11-15 00:11:51
推荐回答(5个)
回答(1):

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,

回答(2):

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,

回答(3):

order by 后面的是从第一个开始的
order by position,money desc,top desc
的意思是
position升序排列,position相等时候 按money降序排,
position,money都相等时候,按top降序排

回答(4):

order by position,money asc,top desc

回答(5):

order by 跟多个字段,虽然语法不报错,但真正起作用的是跟在
它后面的第一个字段。