sql多层嵌套查询优化_sql嵌套查询返回多个字段

sql多层嵌套查询优化_sql嵌套查询返回多个字段1.嵌套查询优化优化前SELECTq.id,q.title,q.question,q.person_name,q.department_name,r.response,r.create_timeresponse_timeFROMtb_ent_questionqLEFTJOINtb_ent_res

大家好,又见面了,我是你们的朋友全栈君。如果您正在找激活码,请点击查看最新教程,关注关注公众号 “全栈程序员社区” 获取激活教程,可能之前旧版本教程已经失效.最新Idea2022.1教程亲测有效,一键激活。

Jetbrains全系列IDE使用 1年只要46元 售后保障 童叟无欺

1.嵌套查询优化
优化前
这里写图片描述

SELECT
    q.id,
    q.title,
    q.question,
    q.person_name,
    q.department_name,
    r.response,
    r.create_time response_time
FROM
    tb_ent_question q
LEFT JOIN tb_ent_response r ON q.id = r.question_id
WHERE
 r.create_time = (
    SELECT
        MAX(create_time)
    FROM
        tb_ent_response r1
    WHERE
        r1.question_id = q.id
)
OR r.create_time IS NULL
ORDER BY
    q.create_time DESC

优化后
这里写图片描述

SELECT
    q.id,
    q.title,
    q.question,
    q.person_name,
    q.department_name,
    r.response,
    r.create_time response_time
FROM
    tb_ent_question q
LEFT JOIN tb_ent_response r ON q.id = r.question_id,
 (
    SELECT
        r1.id,
        r1.question_id,
        max(r1.create_time) AS create_time
    FROM
        tb_ent_response r1
    GROUP BY
        id
) a
WHERE
(
    a.id = r.id
    OR (r.create_time IS NULL)
)
GROUP BY
    q.id
ORDER BY
    q.create_time DESC
版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请联系我们举报,一经查实,本站将立刻删除。

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

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


相关推荐

  • TransactionScope应用

    TransactionScope应用.NETFramework2.0版中新增的TransactionScope单独使用确实很方便。但是在实际项目中都有自己的访问层,如何才能和自己的数据访问层结合起来使用呢?          在项目中我是这样处理数据的: /**////   ///外包业务访问类   ///   publicclassOutSourcingDAO   {       /**

    2022年7月19日
    12
  • 中国将划分成50个省 附最新50省地图

    中国将划分成50个省 附最新50省地图中国将划分成50个省附最新50省地图…

    2022年8月1日
    22
  • 《移动App测试的22条军规》—第5章5.3节规范与习惯

    《移动App测试的22条军规》—第5章5.3节规范与习惯

    2022年3月2日
    46
  • zookeeper系列学习——(1)zookeeper的简单介绍

    这一篇大概整理一下zookeeper的一下基本的知识点,不能自己研究出新的技术,就先看别人造出来的轮子! 我一直在模仿,从未有创新!但我相信从模仿开始,总归是有成长和进步的! 首先学习一个新的技术,看官方文档是最好的一种方式。对我来说不仅可以学习技术,还可以提升一下自己的英语能力。 [zookeeper官方网站(http://zookeeper.apache.org/)。Zookeeper中文

    2022年2月25日
    41
  • java面试总是通不过_读完这篇文章你有什么感受

    java面试总是通不过_读完这篇文章你有什么感受Java面试题千千万,个人觉得没有最好的答案,只有最适合的答案;本文的宗旨是为读者朋友们整理一份详细而又权威的面试清单。此文是前段时间本人根据部分文章汇总压在草稿箱(由于时间关系,忘了加上对应的原创链接,如有侵权,请联系本人删除,本人单纯秉着知识乐于分享的精神),今天发现在草稿箱,特发出来给大家,仅供参考。注:本人才疏学浅,知识还在积累中,不能保证每个回答都满足各种等级的高手们,(由于一些技术的升级,部分答案不能保证实时同步准确,还请大家在阅读的时候多多留意)若发现有问题的话,请评论指出。…….

    2022年10月6日
    3
  • executeupdate mysql_sql语句executeQuery和executeUpdate之间的区别

    executeupdate mysql_sql语句executeQuery和executeUpdate之间的区别方法一.executeQuery用于产生单个结果集(ResultSet)的语句,例如SELECT语句。被使用最多的执行SQL语句的方法。这个方法被用来执行SELECT语句,它几乎是使用最多的SQL语句。但也只能执行查询语句,执行后返回代表查询结果的ResultSet对象。如://加载数据库驱动Class.forName(“com.mysql.jdbc.Driver”);//使用D…

    2022年10月20日
    2

发表回复

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

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