统计数据产品消耗量与产量

注意join 方向

join中子查询

How to use subquery in JOIN operation in MySQL http://www.geeksengine.com/database/subquery/subquery-in-join-operation.php

SELECT * FROM (
SELECT COUNT(DISTINCT(tab_p_id)) AS num_used,uid FROM tab_used GROUP BY uid
) AS u LEFT JOIN (
SELECT COUNT(1) AS num_produced,uid FROM tab_produced WHERE status=0 GROUP BY uid )
AS p ON u.uid=p.uid

num_used uid num_produced uid1
7 34000818 7 34000818
5 34021448 5 34021448
4 34032175 4 34032175
2 34053736
1 34056643 1 34056643
3 34058625 1 34058625
1 34058871 6 34058871
1 34061376 2 34061376
2 34061642 2 34061642
2 34061911 2 34061911
1 34062103 21 34062103
1 34062125 23 34062125
5 50001361 5 50001361
1 50001496 3 50001496
1 50001902
3 50001937 3 50001937
2 50003549 4 50003549
3 50003739
1 50003912 5 50003912
3 50004712 3 50004712
6 50005136 3 50005136
1 50006475 1 50006475
1 50007058 1 50007058
2 50007241 10 50007241
1 50007396 13 50007396
2 50007436 5 50007436
2 50007453 4 50007453
3 50007469 2 50007469
11 50007565 11 50007565
1 50008000 10 50008000
3 50008751
8 50008905 8 50008905
1 50008952 10 50008952
9 50010160 10 50010160
4 50010671 5 50010671
1 50010844 7 50010844

SELECT p.uid FROM (
SELECT COUNT(DISTINCT(myproduct_id)) AS num_used,uid FROM myproduct_publish GROUP BY uid
) AS v
LEFT JOIN (
SELECT COUNT(1) AS num_produced,uid FROM myproduct WHERE status=0 GROUP BY uid
)
AS p ON v.uid=p.uid WHERE num_used>=num_produced

JOIN a table with a subquery的更多相关文章

  1. MySQL 通过semi join 优化子查询

    半连接是MySQL 5.6.5引入的,多在子查询exists中使用,对外部row source的每个键值,查找到内部row source匹配的第一个键值后就返回,如果找到就不用再查找内部row sou ...

  2. [HIve - LanguageManual] Join Optimization (不懂)

    Join Optimization Join Optimization Improvements to the Hive Optimizer Star Join Optimization Star S ...

  3. 慢SQL优化:where id in (select max(id)...) 改为join后性能提升400倍

    背景 有两张表,都是主键递增,类似于主表和明细表: statistics_apply:统计申请表,主键applyId,7万多条记录 statistics_apply_progress:统计申请进度表( ...

  4. 关于在left join的on子句中限制左边表的取值时出现非期望的结果

    使用的SQL大概是这样的: select * from A left join B on A.id=B.id and A.id>10; --错误的使用 我们期望的结果集应该是 A中的id> ...

  5. MySql学习(三) —— 子查询(where、from、exists) 及 连接查询(left join、right join、inner join、union join)

    注:该MySql系列博客仅为个人学习笔记. 同样的,使用goods表来练习子查询,表结构如下: 所有数据(cat_id与category.cat_id关联): 类别表: mingoods(连接查询时作 ...

  6. left join 和 left outer join 的区别

    left join 和 left outer join 的区别 通俗的讲:    A   left   join   B   的连接的记录数与A表的记录数同    A   right   join   ...

  7. MySQL实现全关联 full outer join

    SQL LEFT JOIN 关键字 LEFT JOIN 关键字会从左表 (table_name1) 那里返回所有的行,即使在右表 (table_name2) 中没有匹配的行. LEFT JOIN 关键 ...

  8. 实战 EF(LINQ) 如何以子查询的形式来 Join

    如题,大多数网上关于 LINQ Join 的示例都是以 from x in TableA  join ... 这样的形式,这种有好处,也有劣势,就是在比如我们使用的框架如果已经封装了很多方法,比如分页 ...

  9. join算法分析

    对于单条语句,explain看下key,加个索引 多个条件,加复合索引 where a = ? order by b 加(a,b)的复合索引 上面都是比较基本的,这篇我们分析一些复杂的情况--join ...

随机推荐

  1. vue set方法

    <!DOCTYPE html> <html lang="en"> <head>     <meta charset="UTF-8 ...

  2. Linux基础学习一

    swap:虚拟内存ctrl+a:跳到命令首部 ctrl+e:跳到命令尾部alias:指令别名cp -r:递归复制粘贴mv 源路径 目标路径:移动操作 (如果提示是否覆盖,在mv前加\即可不提示:\mv ...

  3. 转:Centos7安装zabbix3.4超详细步骤解析

    安装前准备: 1.1 安装依赖包: yum -y install wget net-snmp-devel OpenIPMI-devel httpd openssl-devel java lrzsz f ...

  4. 自己封装的js工具

    // 封装函数insertAfter;功能类似insertBefore(); var div = document.getElementsByTagName("div")[0]; ...

  5. BNUOJ 1589 Closest Common Ancestors

    Closest Common Ancestors Time Limit: 2000ms Memory Limit: 10000KB This problem will be judged on PKU ...

  6. spring-session(一)揭秘

    前言 在开始spring-session揭秘之前,先做下热脑(活动活动脑子)运动.主要从以下三个方面进行热脑: 为什么要spring-session 比较traditional-session方案和s ...

  7. android开发里跳过的坑——button不响应点击事件

    昨天遇到一个头疼的问题,在手机上按钮事件都很正常,但是在平板上(横屏显示的状态),button点击事件不响应,代码简化如下: public class Test extends Activity im ...

  8. mysql pager用法&命令行命令

    下面讲的命令,有部分只能在linux上才有.像pager命令windows上就没有了. 分屏:在Linux上,而且不是xwindow时,使用mysql命令行时,输出太多的东西,看不到就很悲剧了.在sh ...

  9. 【ZJOI2017 Round1后记】

    2017.4.1: NOIP+Round1综合成绩出来,标准分离续命线差了80分,果然还是联赛坑挖太大了…… 不管怎么说能续命的话还是要试一下的…… 发毒誓:Round2前不打手游,不看NGA,不看星 ...

  10. POJ 1769_Minimizing maximizer

    题意: 一系列m个1~n区间,每个区间固定对某个子区间进行排序,顺序选择若干区间,使最终覆盖所有区间. 分析: computes the length of the shortest subseque ...