MySQL子查询用法实例分析

 更新时间:2016年04月19日 11:49:03   作者:mo_guang  
这篇文章主要介绍了MySQL子查询用法,结合实例形式对比分析了MySQL子查询的设置技巧,需要的朋友可以参考下

本文实例讲述了MySQL子查询用法。分享给大家供大家参考,具体如下:

假设表my_tbl包含三个字段a,b,c;现在需要查询表中列a的每个不同值下的列b为最小值的记录量。

比如表记录为:

a  b  c
1  3  'cd'
2  3  'nhd'
1  5  'bg'
2  6  'cds'
1  7  'kiy'
3  7  'vsd'
3  8  'ndf'

希望得到结果为:

a  b  c
1  3  'cd'
2  3  'nhd'
3  7  'vsd'

(1) 其中一个做法:先查出每个a值下的b最小值,然后根据这些最小值去查询符合要求的所有记录。

查询符合最小b值的sql写法如下:

复制代码 代码如下:
select A.* from my_tbl as A where A.b=(select min(b) from my_tbl as B where B.a=A.a);

由于是嵌套查询和取交集,80万条记录情况下竟然用一个小时也没把中间结果算出来(我真怀疑是自己哪里写错了);后面求记录量就免谈了。

(2) 上面的方法是个灾难, 只能弃用了。

具体逻辑为:先按列a,b分组,然后选择每组中列b值最小的记录,生成结果集。

sql语句写法如下:

复制代码 代码如下:
select a,b,c,count(a) from (select a,b,c from my_tbl group by a,b) as A group by a;

执行查询后,时间竟只用了1.1秒。

再一次证明,sql的查询策略的不同能直接导致性能上的巨大差异。

更多关于MySQL相关内容感兴趣的读者可查看本站专题:《MySQL事务操作技巧汇总》、《MySQL存储过程技巧大全》、《MySQL数据库锁相关技巧汇总》及《MySQL常用函数大汇总

希望本文所述对大家MySQL数据库计有所帮助。

相关文章

  • Mysql中json类型数据查询的实现

    Mysql中json类型数据查询的实现

    MySQL5.7开始支持JSON格式的数据类型,可以存储和处理JSON类型的数据,本文主要介绍一些关于json数据类型的查询操作,具有一定的参考价值,感兴趣的可以了解一下
    2023-10-10
  • MySQL导入.CSV数据中文乱码的解决方式

    MySQL导入.CSV数据中文乱码的解决方式

    当将xls或xlsx文件转换为CSV并导入数据库时,可能出现乱码,原因是编码格式不是UTF-8,解决方法是使用Notepad或记事本打开CSV文件,所以本文给大家介绍了MySQL导入.CSV数据中文乱码的解决方式,需要的朋友可以参考下
    2024-08-08
  • DQL数据查询语句使用示例

    DQL数据查询语句使用示例

    DQL(Data Query Language 数据查询语言):用于查询数据库对象中所包含的数据。DQL语言主要的语句:SELECT语句。DQL语言是数据库语言中最核心、最重要的语句,也是使用频率最高的语句
    2022-12-12
  • MySQL中因字段字符集不同导致索引不能命中的解决方法

    MySQL中因字段字符集不同导致索引不能命中的解决方法

    这篇文章主要给大家介绍了关于MySQL中因字段字符集不同导致索引不能命中的解决方法,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧
    2018-09-09
  • MySQL数据库超时设置配置的方法实例

    MySQL数据库超时设置配置的方法实例

    这篇文章主要给大家介绍了关于MySQL数据库超时设置配置的相关资料,通过文中的设置方法可以很好的解决大家遇到的mysql数据库超时问题,需要的朋友可以参考下
    2021-10-10
  • 银河麒麟V10安装MySQL8.0.28并实现远程访问

    银河麒麟V10安装MySQL8.0.28并实现远程访问

    这篇文章主要介绍了银河麒麟V10安装MySQL8028的图文教程,并详细介绍了远程访问的实现方法,本文通过图文命令给大家介绍的非常详细,对大家的学习或工作具有一定的参考借鉴价值,需要的朋友可以参考下
    2022-02-02
  • MySQL查询性能优化索引下推

    MySQL查询性能优化索引下推

    这篇文章主要介绍了MySQL查询性能优化索引下推,文章围绕主题展开详细的内容介绍,具有一定的参考价值,需要的小伙伴可以参考一下,希望对你的学习有所帮助
    2022-08-08
  • MySQL 常见存储引擎的优劣

    MySQL 常见存储引擎的优劣

    众所周知,MySql 提供了很多存储引擎,这里来比较一下常见引擎的优劣。帮助大家选择合适的存储引擎
    2021-06-06
  • mysql自增ID起始值修改方法

    mysql自增ID起始值修改方法

    本文介绍mysql自增ID的起始值修改与设置方法
    2013-11-11
  • mysql语句性能分析工具之profiling用法

    mysql语句性能分析工具之profiling用法

    这篇文章主要介绍了mysql语句性能分析工具之profiling用法,具有很好的参考价值,希望对大家有所帮助,如有错误或未考虑完全的地方,望不吝赐教
    2023-12-12

最新评论