热门标签 | 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 ) 


推荐阅读
  • 本文详细介绍了在Linux操作系统上安装和部署MySQL数据库的过程,包括必要的环境准备、安装步骤、配置优化及安全设置等内容。 ... [详细]
  • 如何将955万数据表的17秒SQL查询优化至300毫秒
    本文详细介绍了通过优化SQL查询策略,成功将一张包含955万条记录的财务流水表的查询时间从17秒缩短至300毫秒的方法。文章不仅提供了具体的SQL优化技巧,还深入探讨了背后的数据库原理。 ... [详细]
  • 本文详细介绍了Oracle 11g中的创建表空间的方法,以及如何设置客户端和服务端的基本配置,包括用户管理、环境变量配置等。 ... [详细]
  • 本文详细介绍了如何在Oracle VM VirtualBox中实现主机与虚拟机之间的数据交换,包括安装Guest Additions增强功能,以及如何利用这些功能进行文件传输、屏幕调整等操作。 ... [详细]
  • 软件测试行业深度解析:迈向高薪的必经之路
    本文深入探讨了软件测试行业的发展现状及未来趋势,旨在帮助有志于在该领域取得高薪的技术人员明确职业方向和发展路径。 ... [详细]
  • 如何在Django框架中实现对象关系映射(ORM)
    本文介绍了Django框架中对象关系映射(ORM)的实现方式,通过ORM,开发者可以通过定义模型类来间接操作数据库表,从而简化数据库操作流程,提高开发效率。 ... [详细]
  • MySQL InnoDB 存储引擎索引机制详解
    本文深入探讨了MySQL InnoDB存储引擎中的索引技术,包括索引的基本概念、数据结构与算法、B+树的特性及其在数据库中的应用,以及索引优化策略。 ... [详细]
  • CentOS下ProFTPD的安装与配置指南
    本文详细介绍在CentOS操作系统上安装和配置ProFTPD服务的方法,包括基本配置、安全设置及高级功能的启用。 ... [详细]
  • 解决JavaScript中法语字符排序问题
    在开发一个使用JavaScript、HTML和CSS的Web应用时,遇到从SQLite数据库中提取的法语词汇排序不正确的问题,特别是带重音符号的字母未按预期排序。 ... [详细]
  • 本文详细探讨了在Web开发中常见的UTF-8编码问题及其解决方案,包括HTML页面、PHP脚本、MySQL数据库以及JavaScript和Flash应用中的乱码问题。 ... [详细]
  • 我的读书清单(持续更新)201705311.《一千零一夜》2006(四五年级)2.《中华上下五千年》2008(初一)3.《鲁滨孙漂流记》2008(初二)4.《钢铁是怎样炼成的》20 ... [详细]
  • 如何从BAM文件绘制ATAC-seq插入片段长度分布图?
    在ATAC-seq数据处理中,插入片段长度的分布图是一个重要的质量控制指标,它能反映出核小体的周期性排列。本文将详细介绍如何从BAM文件中提取并绘制这些数据。 ... [详细]
  • 本文作为《WM平台上使用Sybase Anywhere 11》系列的第二篇,将继续探讨在Windows Mobile (WM) 系统中如何高效地操作Sybase Anywhere 11数据库。继上一篇关于安装与基本测试的文章之后,本篇将深入讲解数据库的具体操作方法。 ... [详细]
  • 本文将从基础概念入手,详细探讨SpringMVC框架中DispatcherServlet如何通过HandlerMapping进行请求分发,以及其背后的源码实现细节。 ... [详细]
  • Jupyter Notebook多语言环境搭建指南
    本文详细介绍了如何在Linux环境下为Jupyter Notebook配置Python、Python3、R及Go四种编程语言的环境,包括必要的软件安装和配置步骤。 ... [详细]
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社区 版权所有