`

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写到总执行语句的最后即可

 

分享到:
评论
1 楼 whzjjj410 2014-11-07  
[flash=200,200][url][img][list]
[*]
引用
[i][b][/b][/i]
[/list][/img][/url][/flash]
        

相关推荐

    SQL 语句 帮助文档

    可以结合WHERE子句进行条件筛选,GROUP BY子句进行分组,HAVING子句对分组结果进行筛选,ORDER BY子句进行排序,LIMIT或TOP子句限制返回的记录数。 - **INSERT语句**:用于向数据库中插入新的记录。 - **UPDATE...

    数据库性能调优常用SQL语句

    优化策略包括:使用索引、减少GROUP BY的列数、避免在ORDER BY中使用计算表达式。 `LIMIT`用于限制返回的结果集大小,常用于分页查询。但在大表中,如果将LIMIT放在JOIN或GROUP BY之后,可能会先生成大量中间结果,...

    Oracle的sql语句练习题及参考答案

    9. **分页**:`LIMIT`和`OFFSET`在某些数据库系统中用于实现数据分页,但Oracle使用`ROWNUM`或`FETCH NEXT`结合`WITH TIES`来实现类似功能。 10. **动态SQL**:允许在运行时构建和执行SQL语句,增强了SQL的灵活性,...

    SQL语句学习七大实验.rar

    在SQL语句学习中,七个核心实验涵盖了数据库管理和数据操作的关键方面。这些实验旨在帮助学习者深入理解SQL语言,提高数据库操作技能。以下是对每个实验的详细解释: 1. **数据库及数据库表的建立实验**: 在这个...

    经典SQL语句大全

    1、1=1,1=2的使用,在SQL语句组合时用的较多 “where 1=1” 是表示选择全部 “where 1=2”全部不选, 如: if @strWhere !='' begin set @strSQL = 'select count(*) as Total from [' + @tblName + '] where ' + ...

    数据库查询语句(SQL语句)大全

    4. 分页查询:使用LIMIT和OFFSET获取特定范围的数据,如`SELECT * FROM table_name LIMIT number OFFSET offset_number;` 5. 联接查询:包括内联接(INNER JOIN)、左联接(LEFT JOIN)、右联接(RIGHT JOIN)和全联接...

    sql语句优化大全.docx

    如果限制条件中其他字段没有索引,可以使用 union all 或 union 语句代替。 7. 尽量用 union all 代替 union union 和 union all 的差异主要是前者需要将结果集合并后再进行唯一性过滤操作,这就会涉及到排序,...

    SQL语句生成及分析器(中文绿色)

    3.6 排序 (Order By) 3.7 数据表的内连接、外连接 3.7.1 SQL 92 标准:Inner Join、Left Join、Right Join、Full Join, 3.7.2 特殊语法:*=、=*、*=*(MS_SQL,Sybase),(+)(Oracle) 3.8 联合 (Union ...

    MySQL查询优化:连接查询排序limit(join、order by、limit语句)介绍

    在MySQL查询优化中,连接查询(join)与排序(order by)和限制返回结果的数量(limit)是常见的操作,但当它们结合在一起时,可能会导致性能下降。这个问题在标题和描述中已经阐述得很清楚,主要涉及到如何高效地...

    SQLserver查询语句大全

    本文档将详细介绍 SQL Server 查询语句的基本结构、选择列表、FROM 子句、WHERE 子句、ORDER BY 子句、LIMIT 子句等基本组件的使用方法和应用场景。 一、 简单查询 简单的 Transact-SQL 查询语句包括选择列表、...

    sql语句练习题及答案

    通过以上练习题及解答,我们可以看到SQL语言的强大功能,它不仅可以用来创建、修改和删除数据库中的表,还可以用来查询、统计和操作复杂的数据。这些练习题覆盖了SQL的基本语法以及高级查询技巧,对于学习SQL的人来...

    sql语句详细教学(初学者专用)

    - **SELECT**:查询语句,用于从表中获取数据,可以配合WHERE子句进行条件筛选,GROUP BY进行分组,HAVING进行分组后的条件筛选,ORDER BY进行排序,LIMIT限制返回结果的数量。 - **INSERT INTO**:向表中插入新...

    SQL语句编写_试题制作脚本

    - 如果一个SQL查询中使用了GROUP BY,那么所有的SELECT字段都必须出现在GROUP BY子句中。这是______的。(正确/错误) 4. **简答题**: 简答题要求考生解释SQL语句的功能或提供解决问题的步骤,例如: - 解释...

    手工注入常用SQL语句.txt

    手工SQL注入通常涉及利用已知漏洞,通过精心构造的SQL语句来探测数据库结构和数据。 ### 2. Access数据库的手工SQL注入示例 对于Access数据库,可以通过以下方式进行手工SQL注入: - `and (select id from ...

    MySQL数据库sql语句增删改查笔记

    ### MySQL数据库SQL语句增删改查笔记 #### 一、插入数据(Insert) 在MySQL中,`INSERT INTO`语句用于向表中插入新记录。语法格式为: ```sql INSERT INTO 表名 (列1, 列2, ..., 列n) VALUES (值1, 值2, ..., 值n...

    SQL数据库查询语句基础文本——可复制的查询语句

    本资源“SQL数据库查询语句基础文本——可复制的查询语句”提供了丰富的SQL语句实例,不仅方便用户直接在数据库中运行,还配以中文解释,帮助理解其工作原理。 1. **基本查询** SQL的基本查询包括`SELECT`语句,...

    SQL语句学习的绝佳资料

    5. 分页查询:使用LIMIT和OFFSET获取结果集的一部分,常用于实现数据分页显示。 6. 视图(View):虚拟表,由SQL查询创建,提供了一种简化复杂查询和保护数据的方法。 7. 存储过程和触发器:预编译的SQL语句集合,...

    SQL语句基础教程.doc

    ### SQL语句基础教程知识点概览 #### 一、SQL指令 **1. SELECT** - **功能**: 用于从数据库中的表中选取数据。 - **语法**: `SELECT column_name(s) FROM table_name;` - **示例**: `SELECT store_name FROM Store_...

Global site tag (gtag.js) - Google Analytics