如果是int或者其他数值类型,order by的排序一定会按照数字的大小排序。
如果Count字段确实不是数字类型,请修改字段类型。在建立数据表时一定要慎重考虑选择何种数据类型。
本文介绍MySQL数据库中执行select查询语句,并对查询的结果使用orderby
子句进行排序。
再来回顾一下SQL语句中的select语句的语法:
Select
语句的基本语法:
Select
<列的集合>
from
<表名>
where
<条件>
order
by
<排序字段和方式>
如果要对查询结果按某个字段排序,则要使用order
by
子句,如下:
select
*
from
<表名>
order
by
<字段名称>
<排序方式>
下面来看两个例子,第一个查询test表中所有数据,并按t_id正序排列;第二个查询与第一个相反,是逆序排列。
mysql>
select
t_id,t_name
from
test
order
by
t_id
+------+--------+
|
t_id
|
t_name
|
+------+--------+
|
1
|
name1
|
|
2
|
name2
|
+------+--------+
2
rows
in
set
(0.00
sec)
mysql>
select
t_id,t_name
from
test
order
by
t_id
desc
+------+--------+
|
t_id
|
t_name
|
+------+--------+
|
2
|
name2
|
|
1
|
name1
|
+------+--------+
2
rows
in
set
(0.00
sec)
注意:正序排序时,可以使用asc作为排序方式的关键词,也可以不使用。逆序时,一定要使用desc作为关键词。
关于MySQL中select语句使用order按行排序,本文就介绍这么多,希望对大家有所帮助,谢谢!
我想到的办法不知道可不可以,不是很简单:declare @t table
(
OrderId int IDENTITY(1,1) NOT NULL,
id int
)
insert into @t (id) values (1)
insert into @t (id) values (5)
insert into @t (id) values (6)
insert into @t (id) values (3)
上面这段代码你也可以写成一个表值函数,用起来更方便
select users.* from users inner join @t t on users.id=t.id order by t.OrderId
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)