【发布时间】:2013-10-24 14:19:38
【问题描述】:
SELECT S2.A
FROM S1, S2
WHERE S1.A = S2.A
GROUP BY S1.A
HAVING COUNT(*) > 1;
这是一个有效的查询吗?
因为据我了解,您的 select 子句中的任何内容都必须在您的 group by 子句中,但此查询不遵循它。
但是,通过查看此查询,这对我来说确实有意义,因为您正在从 S2 中选择 A 属性值,使得 S1.A = S2.A 从而 S1 的特定 A 值的数量超过 1记录。
【问题讨论】:
-
你需要根据你选择的分组,所以如果你选择了
S2.A你就不能按S1.A分组... -
@alfasin “坏事”,但在 mysql 中并非如此......
-
@RaphaëlAlthaus 我的错 - 我没有注意到
mysql标签。顺便说一句,它是对于 PLSQL