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

2021-08-29 03:18:03 字數 795 閱讀 8176

在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的相加

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

sql server2005 transact sql 新兵器學習總結之 總結 在sql server2000自帶db pubs,執行下面的sql,它是把第一條和第二條記錄的字段job id進行了相加 我們可以得到字元 1.2.declare str varchar 1000 select str ...

ibatis動態欄位order by排序

ibatis中要增加乙個排序功能 按照慣性思維增加了這樣的 order by ordercolumn 執行起來不符合預期 檢查了生成了原始語句,發現組裝成的sql變成了 order by name 在ordercolumn引數前後加上了引號,所以會不成功 最終解決方法如下 order by orde...

SQL中利用ORDER BY排序結果

剛開時學習sql server的你不知道有沒有這樣的乙個困擾,如下mytable表,id欄位作為乙個排序列,排序為何如此的不整齊,怎樣讓它查詢時按我想要的順序排列呢,這就要用到sql中的ordr by 子句了。order by子句位於select語句的末尾它允許指定乙個列或多個列,這些列確定查詢結果...