利用臨時表對查詢資料重新排序

2021-05-23 10:54:29 字數 508 閱讀 3366

先看乙個查詢:

select top 3 [id],[title] from [table1] where ([id]<5) order by [id] asc;

表中有id=1,2,3,4,5的幾行資料,本來想按順序得到id=4,3,2的資料行,但該查詢實際得到的是id=2,3,4順序的資料行。

當然,可在程式中對資料集重新排序,但實際應用中不太方便,想直接利用sql語句來完成。後來想到一種方法,利用了臨時表。如下:

if object_id(tempdb.dbo.#tmp)>0

drop table #tmp;

select into #tmp from

(select  top 3 [id],[title] from [table1] where ([id]<5) order by [id] asc);

select * from #tmp order by [id] desc;

先建立臨時表,然後把查詢結果存入臨時表,最後從臨時表查詢資料並按需要重新排序。

SQL資料庫臨時表建立和臨時表拼接查詢

當初由於資料庫設計的有些不合理,有平常的查詢很難達到想要的效果,就上網查詢了臨時表查詢,然後進行拼接 begin 判斷臨時表是否存在刪除臨時儲存表 if object id tempdb te is not null begin drop table te end if object id temp...

sql刪除臨時表查詢的資料

注意 要在同乙個sql方法裡面寫才可以 into test 是把指定要刪除的資料查詢出來,然後建立臨時表來儲存,最後就可以直接刪除掉臨時表的資料,由於開頭的臨時表只能在本回話中使用,當回話結束的時候建立的臨時表需要被刪除掉才可以 select msgid into test from select ...

利用python對巨量資料排序

我們有乙份100g左右的資料需要根據關鍵字進行排序,當時想的是直接從資料庫select出來的時候直接order by,但是爆記憶體了,於是考慮匯出後直接利用python進行排序。直接利用切割排序,再合併的方式,將100g檔案分為40個2.5g的資料檔案,分別排序後再歸併,思想和leetcode合併n...