MYSQL 数据库查询排序问题

MYSQL 数据库查询排序问题,第1张

倒序是从大到小吧?!这个问题你想复杂了。。就把年龄的字段放前面,分数的字段放后面啊ORDER

BY

age

DESC,

score

DESC因为DESC排序时默认的,所以加不加无所谓了,只是字段的顺序不能弄混

先把分类全取出来并随机排序

取排在第一个分类

例如是

西装

然后查询的时候

order

by

(category='西装')

desc,category

即可实现要求

select

from

(select

from

tablename

where

A='01'

order

by

B

asc)

a

union

all

select

from

(select

from

tablename

where

A='02'

order

by

B

desc)

a

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

mysql>

create

table

tt_character

(name

varchar(20))

default

charset

gbk;

Query

OK,

0

rows

affected

(003

sec)

mysql>

create

table

tt_character1

(name

varchar(20))

default

charset

utf8;

Query

OK,

0

rows

affected

(004

sec)

mysql>

insert

into

tt_character

values('兰州'),('安徽'),('江西');

Query

OK,

3

rows

affected

(000

sec)

Records:

3 Duplicates:

0 Warnings:

0

mysql>

insert

into

tt_character1

values('兰州'),('安徽'),('江西');

Query

OK,

3

rows

affected

(000

sec)

Records:

3 Duplicates:

0 Warnings:

0

mysql>

select

from

tt_character1

order

by

name;

+------+

|

name

|

+------+

|

兰州

|

|

安徽

|

|

江西

|

+------+

3

rows

in

set

(000

sec)

mysql>

select

from

tt_character

order

by

name;

+------+

|

name

|

+------+

|

安徽

|

|

江西

|

|

兰州

|

+------+

3

rows

in

set

(000

sec)

在MySQL数据库中,数据保存的顺序都是按照插入数据的先后顺序来插入的,而如果数据的ID编号也是按照先后顺序从小到大排序的,那自然也是按照ID来排序的。

如果是希望在查询的时候要按ID排序,只需要在查询语句后面添加:order by id 即可。

这个如果想要性能的话,就用下面的sql语句实现:

select orderNo from (select (@rowNum:=@rowNum+1) orderNo , userid ,pid from TABLE,(Select (@rowNum :=0) ) b )t where tuserid=2694

然后php获得这条结果数组,取第一个元素即是排序

如果对这个sql语句有疑问,不明白,可以使用一个比较耗费性能的方法:

select userid from record

执行这条语句,获得一个数组$res

遍历前设置一个记录排序的标识 $seq=1;

for(){

$userid=$res['userid'];//把第seq 个位置的学号拿出来,跟想要的学号比

if($userid==2694){

break;

}

$seq++;

}

//如果 这个排序标识比结果集数组大小还大,说明没这个userid的记录。

$seq就是排序

我没有测试 你可以自己试一下

mysql数据库排序是如何将1,11,1001

MySQL中排序输出需要用order by。

如图,test表中有如下数据:

现在分别要求按ID正序和倒序输出结果。

order

by

是在查询时是对原表数据的提取显示。对表中数据存储顺序不做修改,如果要达到你说的结果(让表按排序的结果顺序保存),那么你要对用order

by排序的对应字段在表做一个索引就可以了。

以上就是关于MYSQL 数据库查询排序问题全部的内容,包括:MYSQL 数据库查询排序问题、如何根据MYSQL数据库中的某一个字段进行排序呢、mysql数据库怎么可以两个条件排序等相关内容解答,如果想了解更多相关内容,可以关注我们,你们的支持是我们更新的动力!

欢迎分享,转载请注明来源:内存溢出

原文地址:https://54852.com/sjk/9739058.html

(0)
打赏 微信扫一扫微信扫一扫 支付宝扫一扫支付宝扫一扫
上一篇 2023-05-01
下一篇2023-05-01

发表评论

登录后才能评论

评论列表(0条)

    保存