排序检索数据
这是6个字,那么简单点,重点只有两个字,排序。
先知道排序的关键字,order by。
然后,还要知道,我们使用select查询出来的数据并不是以随机顺序显示的,如果不排序,顺序就是加入表中的顺序。
但是如果表经过了更新或者删除等操作后,就会收到mysql重用回收机制的影响,这会改变原来的存储顺序。
书中说“关系数据库设计理论认为,如果不能明确规定排序顺序,则不应该假定检索出来的数据的顺序有意义”。
一言以蔽之,查询数据时一定要根据某个条件进行排序,可以是修改时间,也可是first_name,等等。
order by可以根据一列或者多列来排序。放在前面的优先排序,也就是先排address_id,再排address
image.png
默认排序是升序,也就是从A到Z。如果需要倒序,要在列明后面加DESC。
image.png
注意:排序的优先级,比如你想按产品名,价格排序(都是升序)。先按照产品名称排序,产品名称相同的才会按照价格排序。
找最大值和最小值
在不借助函数的情况下也是可以完成这种查询的,使用order by 和 limit。
下图,查找rental_id最大的值。
image.png
也可以查找最大的10个值
image.png
注意:order by子句必须在from子句之后,如果有limit,limit必须位于order by子句之后。
第五章,排序,over。