【问题标题】:MySQL filter out subset by group byMySQL 按组过滤掉子集
【发布时间】:2018-02-12 21:31:11
【问题描述】:

1A

a  b  c

1  1  6
1  1  7
2  1  8
2  2  2
2  2  9

B

a  b  c

1  1  7
2  2  9

我想过滤掉 A 的一个子集

a  b  c

1  1  6
2  2  2

我打算按列a,b

按组加入两个表

使得选择列 c 中的值小于表 B 中的 c 值,这是所需的子集。

但不知道如何实现。

【问题讨论】:

  • 可能有多行“c 小于表 B 中的 c 值”。但由于您想“按列 a、b 分组”,您需要决定采用哪个 c
  • 抱歉我打错了,B中的b列应该是1。

标签: mysql join group-by compare


【解决方案1】:

试试这个:

SELECT A.* FROM A INNER JOIN B
ON A.a=B.b AND A.c<B.c;

参见MySQL Join Made Easy 教程。

【讨论】:

  • 谢谢。你也可以告诉我如何用 group by 的方式来做,因为我的工作可能比例子有点复杂。
猜你喜欢
  • 2016-01-16
  • 1970-01-01
  • 1970-01-01
  • 2015-01-15
  • 1970-01-01
  • 1970-01-01
  • 2021-01-27
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多