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)
全栈程序员-站长的头像全栈程序员-站长


相关推荐

  • BoostNote使用,没有说明

    BoostNote使用,没有说明Thisisatitle斜体Thisisalsoatitle二级标题aaasddw第三极symbol标记代码块ThisisaCodesetThisisaCodesetfor(inti=0;i<5;i++){cout<<"Hel

    2025年6月19日
    2
  • 词袋模型和词向量模型

    词袋模型和词向量模型本文简要介绍了词袋模型、词向量模型的原理和应用。

    2022年6月13日
    42
  • mysql时区重启后失效_mysql时区问题

    mysql时区重启后失效_mysql时区问题背景插入 timestamp 类型与 datetime 类型数据比预计结果早 14 小时原因如果说相差 8 小时不够让人惊讶 那相差 13 小时可能会让很多人摸不着头脑 出现这个问题的原因是 JDBC 与 MySQL 对 CST 时区协商不一致 因为 CST 时区是一个很混乱的时区 有四种含义 美国中部时间 CentralStand USA UTC 05 00 或 UTC 06 00 澳大利亚中部时间 Cen

    2025年9月29日
    3
  • 高中必备学习软件_有那些免费好用的高中学习软件?[通俗易懂]

    高中必备学习软件_有那些免费好用的高中学习软件?[通俗易懂]刷题类1.猿题库记录一天时间app安卓1.爱今天2.timingIOS1.时间块2.atimelogger3.ihour4.nowthenfree专注类1.forest2.番茄todo背单词app这个感觉好多人都知道1.沪江开心词场2.扇贝单词3.百词斩4.知米背单词5.墨墨背单词6.不背单词7.单词日记8.易呗背单词听力方面app可可英语英语流利说每日英语听力沪江听力网易云的电台朗易思听缤…

    2022年10月6日
    2
  • 大数据的两种处理方式是什么_大数据的基本处理模式

    大数据的两种处理方式是什么_大数据的基本处理模式大数据的处理方式有两种:基于内存的流式处理和基于硬盘的存储处理。流式处理就好象是在经过的数据面前建一道水闸。数据流过这里,经过闸门的时候,就进行筛选过滤,分析出有价值的内容,然后丢弃,以后也不再使用

    2022年8月5日
    6
  • 用C++实现五子棋人机对战小游戏

    用C++实现五子棋人机对战小游戏如何用C++实现五子棋小游戏呢?五子棋可谓是家喻户晓了,在科技如此发达的今天,我们能不能用电脑实现五子棋人机对弈呢?答案当然是可以的首先,思考一下我们需要完成哪些步骤1、打印棋盘(使用二维数组即可)2、判断胜负(可以考虑深搜,但是暴力似乎能让代码更简洁)3、思考下一部棋该怎么走先从最简单的一部开始:打印棋盘voidout(){for(inti=0;i<=24;i++){for(intj=0;j<=24;j++){if(

    2022年6月16日
    63

发表回复

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

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