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

时间:2019-05-22 13:42:51

标签: mysql sql subquery

以下查询返回所有结果,但根据我的理解,应返回与子查询相同的ID。有人可以解释为什么返回所有ID的子查询(分别运行时)返回所有记录

{
  "status": 409,
  "message": "The specified resource may be in use by an SMB client.\r\nclientRequestId: 4e0085f6-4464-41b5-b529-6373fg9affb0",
}

子查询作为单独查询运行时,例如返回1,5,10,15,但是当我在上面运行此查询时,它返回1,2,3,4,5,...

谢谢!

1 个答案:

答案 0 :(得分:0)

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

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)