我们已经掌握使用 SELECT 语句结合 WHERE 查询条件获取需要的数据,但在实际应用中还会遇到例如学生按身高从高到低排序、商品按价格排序、博客文章按发布的先后顺序排序等等这类需求,那么遇到这类需求该如何解决呢?
在SQL中,使用 order by 对查询结果集进行排序,可以按照一列或者多列进行排序,语法如下:
SELECT column_name1, column_name2, column_name3
FROM table_name1,table_name2
ORDER BY column_name, column_name [ASC|DESC]
TIP:
例如将学生表中的学生按照年龄升序,身高降序排列:
select name,age,height from student order by age,height desc;
在 SELECT 语句中使用 LIMIT 子句来约束要返回的记录数,通常使用 LIMIT 实现分页。语法如下:
SELECT column_name1, column_name2, column_name3
FROM table_name1,table_name2
LIMIT [offset] row_count;
TIP:
limit 分页公式:limit (page-1) * row_count,row_count
例如获取学生表第100页的数据,每页50条:
# 第100页偏移量:(100-1) * 50
select name,age,sex from student limit 4950,50