gpt4 book ai didi

MySQL子查询本身返回所有记录

转载 作者:行者123 更新时间:2023-11-29 16:00:01 24 4
gpt4 key购买 nike

以下查询返回所有结果,但根据我的理解应该返回与子查询相同的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,...

谢谢!

最佳答案

您的查询格式不正确。您需要在子查询中使用聚合函数。也许:

select mya.id
from mytable mya
where mya.id in (SELECT MIN(myb.id)
FROM mytable myb
GROUP BY myb.mysecondcolumn
);

这并不能解释您的实际问题。我的猜测是子查询返回所有 id,但顺序不同。您可以通过查看以下结果来检查是否属于这种情况:

SELECT MIN(myb.id)
FROM mytable myb
GROUP BY myb.mysecondcolumn
ORDER BY MIN(myb.id)

关于MySQL子查询本身返回所有记录,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/56258289/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com