`

ORDER BY排序后,表中字段相加的困惑?

SQL 
阅读更多



在sql server2000自带DB-pubs
运行下面的sql
它是把第一条和第二条记录的字段job_id进行了相加
我们可以得到字符:1.2.

declare @str varchar(1000)
select @str=''
SELECT top 2  @str=@str+ convert(varchar(10),job_id)+'.'
FROM [pubs].[dbo].[jobs]
print @str


现在我想从表中随机抽2条记录,把job_id来相加
我们只得到字符:5.
declare @str varchar(1000)
select @str=''
SELECT top 2  @str=@str+ convert(varchar(10),job_id)+'.'
FROM [pubs].[dbo].[jobs]
order by newid()
print @str

这时我总是只能得到一条随机行的job_id
这样排序后为什么是这样?
百思不解中,希望有经验的XDJM指点


由于时间紧迫我想了一个中转的方法
就是利用了局部临时表过渡
SELECT top 2  job_id
into #temp
FROM [pubs].[dbo].[jobs]
order by newid()
这样再利用#temp来进行job_id的相加

 

 

 

分享到:
评论

相关推荐

    C# List OrderBy 动态多字段排序

    C# 使用orderby 多字段 动态排序

    Oracle数据库中ORDER BY排序和查询按IN条件的顺序输出

    主要介绍了Oracle数据库中ORDER BY排序和查询按IN条件的顺序输出的方法,其中ORDER BY的排序结果需要注意其是否稳定,需要的朋友可以参考下

    OrderByInterceptor,配合PageHelper实现字段排序插件

    OrderByInterceptor,配合PageHelper实现字段排序插件,前端传入要排序的字段和排序规则,插件自动将实体字段映射成数据库字段,不用设置表明前缀。插件通过ResultMap或ResultType读取映射关系,若没有设置,则根据...

    MySQL中Order By多字段排序规则代码示例

    突发奇想,想了解一下mysql order by排序是以什么规则进行的? 好了,话不多说,直接进入正题吧。 MySql order by 单字段 建一测试表如下: CREATE TABLE `a` ( `code` varchar(255) DEFAULT NULL, `name` ...

    SQL-ORDER BY 多字段排序(升序、降序)

    ORDER BY _column1, _column2; /* _column1升序,_column2升序 */ ORDER BY _column1, _column2 DESC; /* _column1升序,_column2降序 */ ORDER BY _column1 DESC, _column2 ; /* _column1降序,_column2升序 */ ...

    order by 、group by 、having的用法

    order by 后面必须列出排序的字段名,可以是多个字段名。 group by 从英文里理解就是分组。必须有“聚合函数”来配合才能使用,使用时至少需要一个分组标志字段。 什么是“聚合函数”? 像sum()、count()、avg()等...

    SqlServer按中文数字排序

    表数据:  按名称排序 并不能得到一二三四五六的顺序  select * from LiWei order by name  找到中文数字在'一二三四五六七八九十'的位置  select id,name,SUBSTRING(name,2,1) as 中文数字,...

    MyBatisPlus条件构造器带条件排序方法orderBy、orderByDesc、orderByAsc使用示例代码

    MyBatisPlus条件构造器带条件排序方法orderBy、orderByDesc、orderByAsc使用示例代码

    SQL常见命令及使用方法

    SQL 基本语句使用方法 sql="select * from 数据表 where 字段名=字段值 order by 字段名 [desc]" sql="select * from 数据表 where 字段名 like '%字段值%' order by 字段名 [desc]" sql="select top 10 * from ...

    在sql中不指定Order by排序是按照主键吗

    在sql中不指定Order by,排序是按照主键吗?答案是不一定。举个例子: 查询AttendanceEmpRank表,主键是AttendanceEmployeeRankId,而且是聚集索引 执行下面的语句,发现第一句不指定Order by的结果跟第二句不一样...

    mysql数据库精华.doc

     sql="select * from 数据表 where 字段名=字段值 order by 字段名 [desc]"  //从数据表中读取“字段名=字段值”的所有字段并根据字段名排序【倒序】  sql="select * from 数据表 where 字段名 like '%字段值%' ...

    activiti5.9修复mysql order by 排序bug

    activiti5.9修复mysql order by 排序bug 详情见博客地址:http://blog.csdn.net/qq413041153/article/details/7740773#comments

    如何利用BAPI_SALESORDER_CHANGE修改vbak增强字段

    项目中遇到一个需求需要修改SO的抬头增强字段,通常增强字段只能通过BAPI的EXTENSIONIN和EXTENSIONINX参数传递。

    深入解析mysql中order by与group by的顺序问题

    mysql 中order by 与group by的顺序是:selectfromwheregroup byorder by注意:group by 比order by先执行,order by不会对group by 内部进行排序,如果group by后只有一条记录,那么order by 将无效。要查出group ...

    SQL语句常用汇总

    from 数据表 where 字段名 order by 字段名 [desc]" 查找数据库中前10记录 <br>Sql="select top n * form 数据表 order by newid()" 随机取出数据库中的若干条记录的方法 top n,n就是要取出的记录...

    group by + order by

    group by的使用,order by的使用,以及 group by + order by的一起使用。

    SQL order by ID desc/asc加一个排序的字段解决查询慢问题

    解决方法就是在order by ID desc再加一个排序的字段,这样子可能会把速度提高很多。再加止排序的字段因查询而异了 如表 代码如下: CREATE TABLE [dbo].[CMPP_SendCentre] ( [id] [int] IDENTITY (1, 1) NOT NULL , ...

    mysql分组取每组前几条记录(排名) 附group by与order by的研究

    –按某一字段分组取最大(小)值所在行的数据 代码如下: /* 数据如下: nameval memo a 2 a2(a的第二个值) a 1 a1–a的第一个值 a 3 a3:a的第三个值 b 1 b1–b的第一个值 b 3 b3:b的第三个值 b 2 b2b2b2b2 b 4 b4b4 b ...

Global site tag (gtag.js) - Google Analytics