为什么mysql having的条件表达式可以直接使用select后的别名?
一、为什么mysql having的条件表达式可以直接使用select后的别名
SQL语句的语法顺序:
FROM -> WHERE -> GROUP BY -> HAVING -> SELECT -> DISTINCT -> UNION -> ORDER BY
因此一般不能在having condition中使用select list中的alias。但是mysql对此作了扩展。
在mysql 5.7.5之前的版本,ONLY_FULL_GROUP_BY sql mode默认不开启。在5.7.5或之后的版本默认开启。
如果ONLY_FULL_GROUP_BY sql mode不开启,那么mysql对标准SQL的扩展可以生效:
1、允许在select list、having condition和order by list中使用没有出现在group by list中的字段。
此时mysql会随机选择没有出现在group by list中的字段的值。效果和使用ANY_VALUE()是相同的。
2、允许在having condition中使用select list中的alias
延伸阅读:
二、在数据库中存储图像的常用方法
在数据库中存储图像的常用方法是在存储数据之前将图像转换为base64数据。这个过程将增加 33% 的大小。或者,可以将图像直接存储为 BLOB;例如:
$image = new Imagick(“image.jpg”);
$data = $image->getImageBlob();
$data = $mysqli->real_escape_string($data);
$mysqli->query(“INSERT INTO images (data) VALUES (‘$data’)”);
然后用
显示图片
使用后一种方法,我们节省了 1/3 的存储空间。为什么在 MySQL 数据库中将图像存储为 base64 更常见?
关于将图像存储在数据库中的优缺点有很多争论,大多数人认为这不是一种实用的方法。无论如何,在这里我假设我们将图像存储在数据库中,并讨论这样做的优异方法。

相关推荐HOT
更多>>
oracle和sqlserver优点是什么?
一、oracle的优点 1、高性能Oracle数据库是一种高性能的数据库管理系统,它可以处理大量数据,并在几乎任何规模的应用程序中提供高可用性。Orac...详情>>
2023-10-17 23:33:40
Windows下什么客户端支持ssh远程连接MySQL数据库?
一、Windows支持ssh远程连接MySQL数据库的客户端1、PuTTYPuTTY是一个免费、开源的SSH和Telnet客户端工具,它可以在Windows上与MySQL服务器建立S...详情>>
2023-10-17 23:02:03
有什么好用的sqlserver数据库客户端软件?
1、SQL Server Management Studio (SSMS)SQL Server Management Studio 是用于管理SQL Server基础架构的集成环境。Managemen详情>>
2023-10-17 21:55:55
为什么 Informix 数据库需要定期 UPDATE STATISTICS?
一、为什么 Informix 数据库需要定期 UPDATE STATISTICS因为Informix 数据库需要定期 UPDATE STATISTICS可以查询统计优化,对频繁插入数据的表...详情>>
2023-10-17 21:25:14热门推荐
oracle和sqlserver优点是什么?
沸Windows下什么客户端支持ssh远程连接MySQL数据库?
热spyder怎样读取sql server的数据库?
热有什么好用的sqlserver数据库客户端软件?
新为什么 Informix 数据库需要定期 UPDATE STATISTICS?
memcached、Redis缓存的数据都是key-value的形式,那缓存时,具体是key、value分别是怎样的数据呢?
plsqldev里的SQL窗口文件没保存怎么找回?
HTML5的WEB SQL Database和IndexDB的用法和区别?
在oracle中,select * from dual where ”=”为什么返回的是空?
Mysql中sum和group by联用求和为什么会计算不准确?
Linux配置开机自启动执行脚本方法有哪些?
jmeter性能测试步骤?
TCL语言都能做什么?
运算符->*是什么意思?
技术干货






