热门标签 | HotTags
当前位置:  开发笔记 > 编程语言 > 正文

对mysql的小小吐槽

mysql其实挺好的,大一就开始学,这么多年也还不错,基本上使用数据库一直都是使用的mysql,但是随着使用越来越多

mysql其实挺好的,大一就开始学,这么多年也还不错,基本上使用数据库一直都是使用的mysql,但是随着使用越来越多,mysql的弊端就开始逐渐显现了。

今天发现,mysql的max()和group by在联合使用的时候,无法查出max()对应的其他列数据,或者说,这些数据都是group by后分组的第一条数据,这真的是麻烦。我能想到的最笨的办法是连一下自己,但是,因为这只是一条子语句,外部还要连表,因此我当即否定了这种想法,认为一定会有更好的解决办法,好吧,呵呵。

之前的vultr账号因为ipv6的原因上不去了,目前只能用百度,百度了这个问题,大部分都是复制的同一个人的答案,不知道这些人怎么想的,转载就转载吧,铺天盖地说自己是原创,得出的解决方案无一例外全是连表。

不敢相信,怎么会这样?肯定有更好的解决办法的,于是我花了一个多小时不断地上网找,自己测试,最终屈服了,mysql的max()方法应该多加参数的,这个参数代表同时查询max()对应的其他列,这样岂不是好多了,为什么要连表?

最终用连表写出来,执行时间接近3秒,好吧,我有空再试试,以下是两种效率极低的解决办法:

select * from (SELECT ANY_VALUE(A.num) num,ANY_VALUE(A.close) ma,ANY_VALUE(A.data) ma_time FROM `fa_pvg` A,
(SELECT ANY_VALUE(num) num,MAX(close) max_day FROM `fa_pvg` where data BETWEEN 20180625  AND  20180705 GROUP BY num) B
WHERE A.num = B.num AND A.close = B.max_day GROUP BY A.num)a left join (SELECT ANY_VALUE(A.num) num,ANY_VALUE(A.close) mi,ANY_VALUE(A.data) mi_time FROM `fa_pvg` A,
(SELECT ANY_VALUE(num) num,MIN(close) max_day FROM `fa_pvg` where data BETWEEN 20180625  AND  20180705 GROUP BY num) B
WHERE A.num = B.num AND A.close = B.max_day GROUP BY A.num)b ON a.num=b.num

select num,close,data from fa_pvg where concat(num,close) in (select concat(num,max(close)) from fa_pvg t1  where data BETWEEN 20180625  AND  20180705  group by t1.num ) 


推荐阅读
  • 本文深入探讨了MySQL中常见的面试问题,包括事务隔离级别、存储引擎选择、索引结构及优化等关键知识点。通过详细解析,帮助读者在面对BAT等大厂面试时更加从容。 ... [详细]
  • 本文详细介绍了一种通过MySQL弱口令漏洞在Windows操作系统上获取SYSTEM权限的方法。该方法涉及使用自定义UDF DLL文件来执行任意命令,从而实现对远程服务器的完全控制。 ... [详细]
  • 在尝试从数据库获取设置的过程中,遇到了一个致命错误:Fatal error: Call to a member function bind_param() on boolean。本文将详细分析该错误的原因,并提供解决方案。 ... [详细]
  • 简化报表生成:EasyReport工具的全面解析
    本文详细介绍了EasyReport,一个易于使用的开源Web报表工具。该工具支持Hadoop、HBase及多种关系型数据库,能够将SQL查询结果转换为HTML表格,并提供Excel导出、图表显示和表头冻结等功能。 ... [详细]
  • 探讨 HDU 1536 题目,即 S-Nim 游戏的博弈策略。通过 SG 函数分析游戏胜负的关键,并介绍如何编程实现解决方案。 ... [详细]
  • MySQL 基础操作与优化
    本文详细介绍了 MySQL 的基础连接、数据库及表的操作,涵盖创建、修改、删除等常用命令,并深入解析了数据类型、列属性、索引、外键和存储引擎等内容。 ... [详细]
  • 深入理解ExtJS:从入门到精通
    本文详细介绍了ExtJS的功能及其在大型企业前端开发中的应用。通过实例和详细的文件结构解析,帮助初学者快速掌握ExtJS的核心概念,并提供实用技巧和最佳实践。 ... [详细]
  • 本文详细介绍了MySQL数据库中的Bin Log和Redo Log,阐述了它们在日志记录机制、应用场景以及数据恢复方面的区别。通过对比分析,帮助读者更好地理解这两种日志文件的作用和特性。 ... [详细]
  • 深入解析MySQL中的七种JOIN查询
    本文详细介绍了MySQL中常用的七种JOIN查询方法,包括内连接、左外连接、右外连接、全外连接以及排除连接等,并通过实例进行说明。 ... [详细]
  • 本文详细介绍了如何在云服务器上配置Nginx、Tomcat、JDK和MySQL。涵盖从下载、安装到配置的完整步骤,帮助读者快速搭建Java Web开发环境。 ... [详细]
  • 主调|大侠_重温C++ ... [详细]
  • MongoDB的核心特性与架构解析
    本文深入探讨了MongoDB的核心特性,包括其强大的查询语言、灵活的文档模型以及高效的索引机制。此外,还详细介绍了MongoDB的体系结构,解释了其文档、集合和数据库的层次关系,并对比了MongoDB与传统关系型数据库(如MySQL)的逻辑结构。 ... [详细]
  • docker镜像重启_docker怎么启动镜像dock ... [详细]
  • 1.执行sqlsever存储过程,消息:SQLServer阻止了对组件“AdHocDistributedQueries”的STATEMENT“OpenRowsetOpenDatas ... [详细]
  • Python Django大学生心理健康管理系统开发(含源码、文档)
    本项目包含完整的源代码、设计文档、数据库结构以及详细的安装指南,旨在为计算机专业的学生提供一个全面的心理健康管理系统解决方案。 ... [详细]
author-avatar
真实的独孤一剑
这个家伙很懒,什么也没留下!
PHP1.CN | 中国最专业的PHP中文社区 | DevBox开发工具箱 | json解析格式化 |PHP资讯 | PHP教程 | 数据库技术 | 服务器技术 | 前端开发技术 | PHP框架 | 开发工具 | 在线工具
Copyright © 1998 - 2020 PHP1.CN. All Rights Reserved | 京公网安备 11010802041100号 | 京ICP备19059560号-4 | PHP1.CN 第一PHP社区 版权所有