排序后表中SQL字段相加的问题解决

数据库 SQL Server
下文对在ORDER BY排序后,SQL字段相加却总是只能得到一条随机行的解决方法,希望对您学习SQL语言能够有所启迪。

在ORDER BY排序后,表中SQL字段相加却出现了问题?下面就为您详细解读出现的问题,以及解决的办法,供您参考学习。

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

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

现在我想从表中随机抽2条记录,把job_id SQL字段来相加
我们只得到字符:5.

  1. declare @str varchar(1000)   
  2. select @str=''   
  3. SELECT top 2  @str=@str+ convert(varchar(10),job_id)+'.'   
  4. FROM [pubs].[dbo].[jobs]   
  5. order by newid()   
  6. print @str  

这时我总是只能得到一条随机行的job_id
这样排序后为什么是这样?

我想了一个中转的方法
就是利用了局部临时表过渡

  1. SELECT top 2  job_id   
  2. into #temp   
  3. FROM [pubs].[dbo].[jobs]   
  4. order by newid()  

这样再利用#temp来进行job_id的SQL字段相加

 

 

【编辑推荐】

同一列SQL字符串相加的方法

教您如何修改sql server时间

Sql Server日期与时间函数简介

SQL Server时间算法大全

带您学习SQL存储过程

责任编辑:段燃 来源: 互联网
相关推荐

2011-09-07 17:41:01

ubunturvm

2010-06-17 14:16:24

SQL Server补

2011-08-18 18:46:24

SQL Server

2011-09-02 13:25:39

UbuntuMacbuntu

2010-05-05 14:20:46

AIX CDE

2009-06-03 15:50:51

eclipse中启动超eclipsetomcat

2009-06-19 11:16:14

java web中文乱码

2010-09-28 10:02:16

SQL查询

2010-01-05 10:02:56

LinuxRAID常见问题

2011-06-13 16:16:32

Qt 中文问题

2011-06-27 16:44:59

Qmake

2011-04-29 10:33:51

搜索信号

2010-04-28 19:24:17

Hp unix

2010-06-17 11:35:24

Ubuntu 修复Gr

2010-04-28 18:01:15

Unix系统

2009-06-30 14:02:00

Struts乱码Eclipse

2009-02-26 11:13:41

Weblogic中间件JSP

2010-09-07 09:08:03

DIV弹出层

2010-08-26 12:59:29

marginCSS

2010-09-13 17:15:59

margin-top
点赞
收藏

51CTO技术栈公众号