【问题标题】:How to select only rows from a table one clumns value is more than b table count value in MySQL如何从一个表中只选择行 一个 clumns 值大于 MySQL 中的 b 表计数值
【发布时间】:2019-06-14 15:43:22
【问题描述】:

表 A:

id, name, school_code
-------------------
1,David,10601
2,Jack,10602
3,John,10603
4,Hank,10602
5,Daisy,10601
6,Kelly,10602
7,May,10602
8,Mayme,10602

表 B:

id, school_code,max_stu
------------------------
1,10601,10
2,10602,5
3,10603,6

如何选择表B的max_stu的行值比表A的count(*) where a.school_code=b.school_code多?

预期结果:

id, school_code,max_stu
------------------------
1,10601,10
3,10603,6

【问题讨论】:

  • 标题说“少”,问题说“多”。是哪个?

标签: mysql sql select count


【解决方案1】:

一种方法是使用相关子查询。这看起来与您已经制定的方式非常相似。

SELECT *
       FROM `table b` `b`
       WHERE `b`.`max_stu` > (SELECT count(*)
                                     FROM `table a` `a`
                                     WHERE `a`.`school_code` = `b`.`school_code`);

【讨论】:

  • 不应该是<>
  • @forpas:嗯,他们写了“max_stu 小于表 A 计数 (*) ...”,这让我们相信 < 是正确的运算符。我错过了什么吗?
  • 是的,但预期的结果,比如1,10601,10 则相反。
  • @forpas:现在他们换了个问题,确实应该是>
猜你喜欢
  • 2018-10-29
  • 2018-03-09
  • 1970-01-01
  • 1970-01-01
  • 2022-09-23
  • 1970-01-01
  • 2021-03-27
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多