mysql 分组合计sql求优化

lnkToKing lnkToKing 墨衍会员 · AI 创作全网分发 墨衍智能分发 通过墨衍一键同步至各平台 可同步平台 CSDN微信公众号微博知乎掘金百家号博客园抖音小红书 你的文章也可以这样分发 墨衍会员 ¥399起/年,写一次发全网 我也要 + 加入社区
有两表T1,T2。

T1约9000条数据,有以下列:
id,eid,name

T2约50000条数据,有以下列:
id,eid,num


现要查出T1表中eid在T2表中同一个eid的num合计,其中求合计后的数据总数sql如下,耗时5秒,求优化:

SELECT COUNT(*) FROM(
SELECT T1.id,T1.eid,T1.name, t.num FROM T1
LEFT JOIN (SELECT eid, COUNT(*) AS num FROM T2 GROUP BY eid) t ON t.eid = T1.eid
WHERE t.num > 0
) t
...全文

相关推荐

Mysql取分组后的每组第一条数据

Mysql取分组后的每组第一条数据 gruop by 分组后 进行 order by mysql会按照 先分组后排序的形式进行输出 并不能做到每组中的第一条数据取出。 我的思路是 : 先将要查询的数据表转换成已经排序的临时表 在进行 分组操作 。 因为在mysql分组是将第一个出现的数据进行展示出。 MySQL会创建临时表的几种情况: 1、UNION查询; 2、用到TEMPTABLE算法或者是UNION查询中的视图; 3、ORDER BY和GROUP BY的子句不一样时; 4、表连接中,ORDER BY的列不是驱动表中的;(指定了联接条件时,满足查询条件的记录行数少的表为[驱动表],未指定联接

weixin_38616033

Mysql利用group by分组排序

主要为大家详细介绍了Mysql利用group by分组排序,具有一定的参考价值,感兴趣的小伙伴们可以参考一下

weixin_38702047

基于mysql实现group by取各分组最新一条数据

前言: group by函数后取到的是分组中的第一条数据,但是我们有时候需要取出各分组的最新一条,该怎么实现呢? 本文提供两种实现方式。 一、准备数据 http://note.youdao.com/noteshare?id=dba748092a619be0a8f160ccf6e25a5f&sub=FD4C1C7823CA440DB360FEA3B4A905CD 二、三种实现方式 1)先order by之后再分组: SELECT * FROM (SELECT * from tb_dept ORDER BY id descLIMIT 10000) a GROUP BY parent_id; 不

weixin_38744778

MySQL优化篇:排序分组优化.pdf

主要包括order by关键字排序优化(无过滤不排序;顺序错,必排序;方向反,必排序;索引的选择;using filesort以及覆盖索引等内容)、group by关键字优化

慢就是【快】

MYSQL每隔10分钟进行分组统计的实现方法

主要给大家介绍了如何利用MYSQL实现每隔10分钟进行分组统计的方法,文中给出了详细的示例代码,相信对大家的理解和学习具有一定的参考借鉴价值,有需要的朋友们下面来一起看看吧。

weixin_38610070
评论 11
收藏 已收藏
分享
返回顶部
lnkToKing
MySQL 57,062 成员 56,759 内容