mysql中的union和order by、limit

mysql中的union和order by、limit

 

我有一个表

CREATE TABLE `test1` (
  `id` int(10) unsigned NOT NULL AUTO_INCREMENT,
  `name` varchar(20) NOT NULL,
  `desc` varchar(100) NOT NULL,
  PRIMARY KEY (`id`)
) ENGINE=InnoDB DEFAULT CHARSET=utf8

 

(1)以下查询会报错误:[Err] 1221 – Incorrect usage of UNION and ORDER BY

select * from test1 where name like ‘A%’ order by name
union
select * from test1 where name like ‘B%’ order by name

应改为:

select * from test1 where name like ‘A%’
union
select * from test1 where name like ‘B%’ order by name

因为union中,在不用括号的情况下,只能用一个order by(想一想,如果union两边的order by的列名不一样会怎么样),这会对union后的结果集进行排序

或者改为:

(select * from test1 where name like ‘A%’ order by name)
union
(select * from test1 where name like ‘B%’ order by name)

这两个order by在union前进行

 

(2)同样的

select * from test1 where name like ‘A%’ limit 10
union
select * from test1 where name like ‘B%’ limit 20

相当于

(select * from test1 where name like ‘A%’ limit 10)
union
(select * from test1 where name like ‘B%’) limit 20

即后一个limit作用于的是union后的结果集,而不是union后的select

也可以加括号来得到你想要的结果

(select * from test1 where name like ‘A%’ limit 10)
union
(select * from test1 where name like ‘B%’ limit 20)

mysql中的union和order by、limit

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请联系我们举报,一经查实,本站将立刻删除。

发布者:全栈程序员-站长,转载请注明出处:https://javaforall.net/113604.html原文链接:https://javaforall.net

(0)
全栈程序员-站长的头像全栈程序员-站长


相关推荐

  • 业界流行的图形数据库(Graph Database)理解(一)

    业界流行的图形数据库(Graph Database)理解(一)关于图形数据库的见解最近在网上阅读了相关图形数据库的知识 深有体会 此外本人想把所理解的知识分享给大家 有错误点请指出 共同进步 图形数据库 Graghdatabas 起源于欧拉的七桥问题 基于图论所设计的 属于 NoSQL 类型的一种 想必都知道 NoSQL 有哪几种吧 键值 Key value 文档 Document 列存储 Column Family 图 Gragh 图形数据库的数据模型主要是以节点 Nodes 和边 Edges 来体现 对于复杂的数据都能快速解决 简单地举个例子

    2025年7月29日
    3
  • 【测试】黑盒测试用例设计方法

    【测试】黑盒测试用例设计方法黑盒测试用例设计方法包括:1、等价类划分法、2、边界值分析法、3、错误推测法、4、因果图法、5、判定表驱动法、6、正交试验设计法、7、功能图法、8、场景法等。9、状态迁移法10、流程分析法11、逐级细分法12、输入域分析法13、输出域分析法14、异常分析等价类划分法概念等价类划分法是把程序的输入域划分成若干部分…

    2022年4月27日
    31
  • 如何制作离线tts?「建议收藏」

    如何制作离线tts?「建议收藏」tts->把文字转化为语音。先把中文转化为拼音。这个主要依靠1个字典,能把汉字和读音对应。下面提供字典:丂yu丄shang丅xia丆shi丏mian丗shi丟diu丠qiu両liang丣you並bing丩jiu丮ji丯jie丱kuang丳chan丵zhuo丷ba丼jing乀fu乁yi乂yi乆jiu乊hu乑yin乕hu乗sheng乚yin乛zhe乢gai乣jiu乨shi乪nang乴xue乵yan乸na乹qian乿luan

    2022年6月21日
    32
  • Linux SIGPIPE信号产生原因与解决方法

    Linux SIGPIPE信号产生原因与解决方法TCP四次握手产生SIGPIPE的原因SIGPIPE信号产生的原因:简单来说,就是客户端程序向服务器端程序发送了消息,然后关闭客户端,服务器端返回消息的时候就会收到内核给的SIGPIPE信号。TCP的全双工信道其实是两条单工信道,client端调用close的时候,虽然本意是关闭两条信道,但是其实只能关闭它发送的那一条单工信道,还是可以接受数据,server端还是可以发送…

    2022年5月30日
    47
  • sstream类的详解

    sstream类的详解C++引入了ostringstream、istringstream、stringstream这三个类,要使用他们创建对象就必须包含sstream.h头文件。istringstream类用于执行C++风格的串流的输入操作。 ostringstream类用于执行C风格的串流的输出操作。 strstream类同时可以支持C风格的串流的输入输出操作。istringstrea

    2022年6月4日
    33
  • java 415_@RequestBody接受参数报415错误「建议收藏」

    java 415_@RequestBody接受参数报415错误「建议收藏」1.简介@RequestBody作用:1)该注解用于读取Request请求的body部分数据,使用系统默认配置的HttpMessageConverter进行解析,然后把相应的数据绑定到要返回的对象上;2)再把HttpMessageConverter返回的对象数据绑定到controller中方法的参数上。使用时机:1)GET、POST方式提时,根据requestheaderConten…

    2022年6月4日
    137

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注

关注全栈程序员社区公众号