排序检索数据——SELECT、LIMIT、ORDER BY

下面先上一张表图

select 检索查询

  • 检索单个列
SELECT name FROM `user`
  • 检索多个列(一定要在列名之间加上逗号,最后一个列名不用加)
SELECT name,age FROM `user`
  • 检索所有列(使用了通配符*,虽然省事但是检索了不需要的列,通常会降低检索和应用程序的性能)
SELECT * FROM `user`
  • 检索不同的行(DISTINCT关键字位于列之前)
SELECT DISTINCT age FROM `user`

 

limit 限制查询结果

使用limit关键字可以限制查询结果

  • 指定检索的开始行和行数,如果没有指定开始行则默认为0行,如果没有足够的行则返回它能返回的那么多
SELECT * FROM `user` LIMIT 2
SELECT * FROM `user` LIMIT 2,1

 

ORDER BY 排序(它的位置位于FROM之后,LIMIT之前)

SQL语句检索的结果一般没有顺序,如果想对其进行排序则需要用到ORDER BY关键字

  • 按单个列排序
SELECT * FROM `user` ORDER BY age
  • 按多个列排序(检索user表,将结果按两个列进行排序,先按照age排序,在对具有相同age值的行按照name排序,如果所有age值都一样,则不会按照name排序)
SELECT * FROM `user` ORDER BY age,name
  • 指定排序方向(数据排序默认为升序(从A到Z),还可以使用降序,但必须指定关键字DESC)
SELECT * FROM `user` ORDER BY age DESC
  • 指定排序方向,并按多个列排序(先按age降序,然后在对age相同的行按name排序)
SELECT * FROM `user` ORDER BY age DESC,name
  • 找出一列中最高或最低的值
SELECT * FROM `user` ORDER BY age  LIMIT 1
SELECT * FROM `user` ORDER BY age DESC LIMIT 1
发布了138 篇原创文章 · 获赞 34 · 访问量 15万+

猜你喜欢

转载自blog.csdn.net/bbj12345678/article/details/105454289