风一样的回忆

新浪微薄腾讯微薄

最新碎语:最近开始学习俄语!!!

您的位置:风一样的回忆 >php> SQL语句UNION中使用ORDERBY和LIMIT简介

SQL语句UNION中使用ORDERBY和LIMIT简介

sql语句UNION 中使用 ORDER BY 和 LIMIT

今天在使用mysql查询一张表各个分类中的前几条数据时想到用union又必须进行排序,因此涉及到sql中的排序和分页,写好sql语句后运行总是报错或者查不到想要的数据。

经反复实验得知union中使用order by和limit的用法如下:

(1)已知表名Article(文章表)其中有字段type(所属分类)和date(发布日期),现在要获取type为1、2、3的记录的前 10条最新发布的记录sql语句如下(select * from Article where type=1 order by date desc limit 10) union (select * from Article where type=1 order by date desc limit 10) union (select * from Article where type=2 order by date desc limit 10) union (select * from Article where type=3 order by date desc limit 10)

需要注意的有以下几点:

  1. 每条关联的select必须用()括起来
  2. 每条语句都要有order和limit

(2)如果想对整体的联合结果进行排序分页的话则直接把order或者limit写到总执行语句的最后即可

---

转载请注明本文标题和链接:《SQL语句UNION中使用ORDERBY和LIMIT简介

分享到:

发表评论

路人甲 表情
看不清楚?点图切换 Ctrl+Enter快速提交