mysql - limit和order by 使用

mysql - limit和order by 使用

1,使用的位置

SELECT select_list
  [ INTO new_table ]
  FROM table_source
  [ WHERE search_condition ]
  [ GROUP BY group_by_expression ]
  [ HAVING search_condition ]
  [ ORDER BY order_expression [ ASC | DESC ] ]
  [LIMIT a,b]

可以看到:order by 和 limit 一般的顺序是在最后使用

2,limit 使用

limit start,count
start: 从start开始(初始为0)
count: 总共count条数据
例如:

# 创建一个数据库nowcoder,表salaries

CREATE DATABASE `nowcoder`

CREATE TABLE `salaries` (
`emp_no` INT(11) NOT NULL,
`salary` INT(11) NOT NULL,
`from_date` DATE NOT NULL,
`to_date` DATE NOT NULL,
PRIMARY KEY (`emp_no`,`from_date`));


INSERT INTO salaries VALUES(10001,88958,'2002-06-22','9999-01-01');
INSERT INTO salaries VALUES(10002,72527,'2001-08-02','9999-01-01');
INSERT INTO salaries VALUES(10003,43311,'2001-12-01','9999-01-01');
INSERT INTO salaries VALUES(10004,88958,'2002-06-22','9999-01-01');
INSERT INTO salaries VALUES(10005,72527,'2001-08-02','9999-01-01');
INSERT INTO salaries VALUES(10006,43311,'2001-12-01','9999-01-01');

#在上表中使用:
select * from salaries
limit 2,2

#会得到:1003,1004两条数据 

3,order by 的使用

接上面的salaries表:
使用:

SELECT * FROM salaries
ORDER BY salary DESC 

则会以salary字段的降序输出,默认升序

4, 合用

同接上表:
使用:

SELECT * FROM salaries
ORDER BY salary 
LIMIT 0,4

则会输出以salary字段排序的最低的四条信息

5, 总结

使用order by, limit 可以实现top的操作 而且更加强大

你可能感兴趣的:(学习,mysql,sql)