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

2022-01-31 22:42:48 字數 1046 閱讀 8812

sql server2005 transact-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的相加

收藏與分享

收藏到qq書籤

新增到雅虎收藏

rss訂閱我什麼是rss?

東莞.net俱樂部

歡迎您的加入

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

在sql server2000自帶db pubs 執行下面的sql 它是把第一條和第二條記錄的字段job id進行了相加 我們可以得到字元 1.2.declare str varchar 1000 select str select top 2 str str convert varchar 10 ...

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語句的末尾它允許指定乙個列或多個列,這些列確定查詢結果...