排序后表中SQL字段相加的問題解決
作者:佚名
下文對在ORDER BY排序后,SQL字段相加卻總是只能得到一條隨機行的解決方法,希望對您學習SQL語言能夠有所啟迪。
在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 SQL字段來相加
我們只得到字符: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
這樣排序后為什么是這樣?
我想了一個中轉的方法
就是利用了局部臨時表過渡
- SELECT top 2 job_id
- into #temp
- FROM [pubs].[dbo].[jobs]
- order by newid()
這樣再利用#temp來進行job_id的SQL字段相加
【編輯推薦】
責任編輯:段燃
來源:
互聯網