MySQL中select语句使用order按行排序

MySQL中select语句使用order按行排序,第1张

本文介绍MySQL数据库中执行select查询语句,并对查询的结果使用order

by

子句进行排序。

再来回顾一下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

(000

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

(000

sec)

注意:正序排序时,可以使用asc作为排序方式的关键词,也可以不使用。逆序时,一定要使用desc作为关键词。

关于MySQL中select语句使用order按行排序,本文就介绍这么多,希望对大家有所帮助,谢谢!

in的效率太低,不能利用索引,建议使用:

select top 每页数量 from 表 where id >(select top 1 max(id) from (select top (页数-1)每页数量 from 表 order by id,name)) 或

select top 每页数量 from 表 where id <(此处根据顺序和逆序)

import javautilScanner;

public class Test {

public static void main(String[] args) {

//定义数组

int[] nums = new int[10]; 

Scanner input = new Scanner(Systemin);

for (int i = 0; i < numslength; i++) {

Systemoutprint("请输入第"+(i+1)+"个数:");

nums[i] = inputnextInt();

}

//遍历输出数组元素

for (int i = numslength-1; i >= 0; i--) {

Systemoutprintln(nums[i]);

}

}

}

以Id排序,降序写,就象楼上的一样``

嘿嘿 top 对ms的有用``对mysql 对应top的是limit

你理解错了吧``我说的mysql中能实现top功能的是limit x,x

CREATE TABLE #temp (

  ID  INT

)

GO

INSERT INTO #temp VALUES(5);

INSERT INTO #temp VALUES(1);

INSERT INTO #temp VALUES(7);

INSERT INTO #temp VALUES(8);

GO

SELECT  FROM #temp;

go

ID

-----------

          5

          1

          7

          8

(4 行受影响)

SELECT 

  ID

FROM

(

SELECT

  ROW_NUMBER() OVER( ORDER BY (SELECT 1) ) NO,  ID

FROM

  #temp

) subQuery

ORDER BY

  NO DESC;

GO

ID

-----------

          8

          7

          1

          5

(4 行受影响)

将字段依次写在order by 后面即可 , 中间用逗号隔开。

view plaincopy to clipboardprint

select  from 表 order by time , name  

select  from 表 order by time asc , name asc  

select  from 表 order by time desc , name desc  

select  from 表 order by time asc , name desc  

select  from 表 order by time desc , name asc

(注: asc 表示升序 , desc表示降序 , 未明确写明排序方式时默认是升序)

与之类似的语法是 group by , 按多个字段分组时 , 也是依次将多个字段写在group by 的后面 , 并用逗号隔开 , 范例如下:

view plaincopy to clipboardprint

select time , name , sum() from 表 group by time , name

以上就是关于MySQL中select语句使用order按行排序全部的内容,包括:MySQL中select语句使用order按行排序、Access数据库分页查询,效率sql语句、编一个程序,定义数组,用for循环语句,顺序输入10个实数,然后逆序输出这10个数。等相关内容解答,如果想了解更多相关内容,可以关注我们,你们的支持是我们更新的动力!

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

原文地址: http://outofmemory.cn/sjk/9802549.html

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

发表评论

登录后才能评论

评论列表(0条)

保存