求大佬们解析下这个sql 小弟没大看懂怎么个运行过程

qq_14999623 2020-01-09 03:27:54


sql如下:

SELECT
a.*
FROM
tb a
WHERE
val = ( SELECT min( val ) FROM tb WHERE NAME = a.NAME )
ORDER BY
a.NAME

这个sql就是按name分组取val最小的值所在行的数据


小弟不明白这个这个slq的执行过程是什么
...全文
29 1 打赏 收藏 转发到动态 举报
写回复
用AI写文章
1 条回复
切换为时间正序
请发表友善的回复…
发表回复
卖水果的net 2020-01-09
  • 打赏
  • 举报
回复
从tb a 中取一条数据 , row 从 tb 中 查找 name = row.name 的记录,并找到小值 val 值。 tb.min_val 判断 row.val 是否 等于 tb.min_val 如果相等 则返回 row 如果不等 则丢掉 row 从 tb a 中取下一行记录

17,086

社区成员

发帖
与我相关
我的任务
社区描述
Oracle开发相关技术讨论
社区管理员
  • 开发
  • Lucifer三思而后行
  • 卖水果的net
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧