【发布时间】:2019-05-22 13:42:51
【问题描述】:
以下查询返回所有结果,但根据我的理解应该返回与子查询相同的 ID。有人可以解释为什么返回所有 ID 的子查询(单独运行时)返回所有记录
select mya.id from mytable mya WHERE mya.id IN (
SELECT myb.id
FROM mytable myb
GROUP BY myb.mysecondcolumn
)
例如,子查询作为单独查询运行时会返回 1,5,10,15,但是当我在上面运行此查询时,它会返回 1,2,3,4,5,...
谢谢!
【问题讨论】:
-
嗨,添加产生意外结果的示例数据会有所帮助,谢谢。
-
@JNDPNT 子查询和主表一样吗?
-
任何时候你发现自己使用了没有任何聚合函数的 GROUP BY 子句,你几乎可以肯定你做错了什么