order by 与 limit:

 order by的用法

 order by是用来写在where之后,给多个字段来排序的一个查询语句。

 order by写法:

 1.  select 字段列表/* from 表名 where 条件 order by 字段名1 asc/desc, 字段名2 asc/desc,.......

 2.  select 字段列表/* from 表名 where 条件 order by 字段序号 asc/desc, 字段序号 asc/desc,....... (此时字段序号要从1开始)

 3.  select 字段列表/* from 表名 where 条件 order by 字段别名1 asc/desc, 字段别名2 asc/desc,.......(这里类似于第一种,无非就是把字段名加了个别名来代替而已。)

 order by的方式:

 1.asc 升序,可以省略,是数据库默认的排序方式

 2.desc 降序,跟升序相反。

 最后要注意order by的原则,写在最前面的字段,他的优先级最高,也就是写法中第一个的字段名1的优先级最高,优先执行他的内容。

LIMIT 语句可以被用于强制 SELECT 语句返回指定的记录数。LIMIT 接受一个或两个数字参数。参数必须是一个整数常量。如果给定两个参数,第一个参数指定第一个返回记录行的偏移量,第二个参数指定返回记录行的最大数目。需要注意的是:初始记录行的偏移量是 0(而不是 1)

-- 1、按照栏目由低到高排序,栏目内部按照价格由高到低排序

SELECT goods_id,cat_id,goods_name,shop_price

FROM goods 

ORDER BY cat_id,shop_price DESC;

-- 2、取出价格最高的前三名商品

-- limit 偏移到哪个位置,往下数几个

SELECT goods_id,cat_id,goods_name,shop_price

FROM goods

ORDER BY shop_price DESC LIMIT 0,3; -- limit 3

-- 3、取出点击量前三名到第五名的商品

SELECT goods_id,cat_id,goods_name,click_count

FROM goods

ORDER BY click_count DESC LIMIT 2,3;

Logo

为开发者提供学习成长、分享交流、生态实践、资源工具等服务,帮助开发者快速成长。

更多推荐