mysql多条件排序怎么写,mysql数据库怎么可以两个条件排序?

2021-01-17 20:55:57 字数 4358 阅读 5964

1楼:却道海棠依旧

在数据库查询时,常常需要排序,而有时排序条件可能有多个。

如数据库:

a b

1 103

1 101

2 201

2 203

1 102

2 202

排序后: a b

1 103

1 102

1 101

2 203

2 202

2 201

语句:select a.a , a.b from table a order by a.a asc , a.b desc

其中asc连接多条排序,且与后一条查询之间有逗号隔开!

2楼:下一个丶自己

select * from suser order by cjsj desc ,xm asc, *** desc。。。。。。

mysql数据库怎么可以两个条件排序?

3楼:匿名用户

可以的,order by多个字段规则是这样的,用逗号分隔每一个字段,如果字段不指明排序方式,默认是增序。排序的方法是先按第一个字段排序,如果有相同的再按后续的字段依次排序。

举个例子

按照c1排序的结果如上图,然后我们按照c1增序,c2降序排列,结果如下:

4楼:du瓶邪

在数据库查询时,常常需要排序,而有时排序条件可能有多个。

如数据库:

a b

1 103

1 101

2 201

2 203

1 102

2 202

排序后: a b

1 103

1 102

1 101

2 203

2 202

2 201

语句:select a.a , a.b from table a order by a.a asc , a.b desc

其中asc连接多条排序,且与后一条查询之间有逗号隔开!

5楼:匿名用户

今天又测试了一下,使用utf8字符集创建的表或者字段使用的是utf8字符集,中文的排序是不正确的,如果表和字段是gbk字符集,则可以正确的排序。

mysql> create table tt_character (name varchar(20)) default charset gbk;

query ok, 0 rows affected (0.03 sec)

mysql> create table tt_character1 (name varchar(20)) default charset utf8;

query ok, 0 rows affected (0.04 sec)

mysql> insert into tt_character values('兰州'),('安徽'),('江西');

query ok, 3 rows affected (0.00 sec)

records: 3 duplicates: 0 warnings: 0

mysql> insert into tt_character1 values('兰州'),('安徽'),('江西');

query ok, 3 rows affected (0.00 sec)

records: 3 duplicates: 0 warnings: 0

mysql> select * from tt_character1 order by name;

+------+

| name |

+------+

| 兰州 |

| 安徽 |

| 江西 |

+------+

3 rows in set (0.00 sec)

mysql> select * from tt_character order by name;

+------+

| name |

+------+

| 安徽 |

| 江西 |

| 兰州 |

+------+

3 rows in set (0.00 sec)

6楼:javaman歪歪

没问题啊

这个都写出来直接运行下就可以了啊

7楼:匿名用户

select * from mysql order by time desc,id desc

8楼:【血衣亭

select * from mysql order by 字段一 asc ,字段二 asc,字段三 desc;

我在mysql数据库里面查询出来的数据想要通过2个条件来进行排序,首先通过第一个条件排序,然后再是第二个

9楼:阳光上的桥

当order by后面有多个排序字段的时候,第一个字段是主关键字,先按第一个字段排序,只有第一个字段值相同的,才按第二个字段进行排序,如果有第三个字段、而且第二个字段相同,才考虑按第三个字段排序,更多字段道理相同。

sql 如何根据两个字段排序

10楼:藤阁美人

1、首先建一张测试表coal_blead,里面有多个字段2、我们输入“select * from coal_blead order by q***,price”语句,按q***,price字段进行升序排序

3、我们输入“select * from coal_blead order by q*** desc,price desc”语句,先按q***字段进行降序,再按price字段进行降序

4、输入“select * from coal_blead order by q*** desc,price asc”语句,先按q***字段降序,再按price字段进行升序

5、如果我们想对更多的字段进行排序,可以进行添加

11楼:great佯装埋倦

order by 后可加2个字段,用英文逗号隔开。

1、f1用升序, f2降序,sql该这样写;

orderbyf1,f2desc2、也可以这样写,更清楚;

orderbyf1asc,f2desc3、如果都用降序,必须用两个desc;

orderbyf1desc,f2desc

12楼:匿名用户

order by是可以有多个字段的

比如order by 条件1 desc,条件2 asc都可以的(这样优先排条件1)

13楼:匿名用户

根据order by就可以了,可多个字段排序

比如order by 条件1 desc,条件2 asc,根据需要选择升序或降序。

14楼:匿名用户

selecta.id,b.idfromtablea,table1bwherea.id=b.idorderbya.id1,b.id2,desc

15楼:匿名用户

两个地方显示??你要的查询结果是显示在同一张表里吗?

16楼:匿名用户

貌似可以直接 order by 字段1 desc, 字段2 asc?

mysql数据库怎么根据多个字段同时排序?

17楼:山水阿锐

您好,您这样:

order by last_time,id desc 这种方式last_time默认是升序的

order by last_time and id desc 这种方式两个字段都是降序的

应该先分组,

select id,last_time from yourtablename group by last_time order by last_time desc,id desc

18楼:汐日南莘

sql 使用order by 排序

select * from table order by value1,value2

根据字段value1和value2排序默认是升序select * from table order by value1,value2 desc

按照降序排序

关系代数数据库中两个条件查询语言怎么表达

1楼 匿名用户 例 设教学数据库中有3个关系 学生关系s sno sname age 学习关系sc sno o grade 课程关系c o ame teacher 下面用关系代数表达式表达每个查询语句。 1 检索学习课程号为c2的学生学号与成绩。 sno,grade o c2 sc 2 检索学习课程...