(旧帖重登)数据库是如何Order by的(polugen.mblogger.cn)
原文在http://polugen.mblogger.cn
这个问题在Sybase和Sql Server中存在,大家都很熟悉如下代码
Declare @s varchar(200)
select @s=''
SELECT @s=@s+F_XTBH FROM LSXTMC
PRINT @s--返回F_XTBH的所有连接结果
它是如何赋值的呢,应该是检索完一条语句,然后赋值
但是如下语句,注意,增加了一个ORDER BY
Declare @s varchar(200)
select @s=''
SELECT @s=@s+F_XTBH FROM LSXTMC ORDER BY F_XTBH
PRINT @s--返回F_XTBH排序后最后一条记录的值
估计可能的情况是,在数据库先不进行计算,ORDER by之后再进行一次执行赋值,这样SELECT @s=@s+F_XTBH 之执行了一次。
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】凌霞软件回馈社区,博客园 & 1Panel & Halo 联合会员上线
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步