sql 隨機抽取幾條數(shù)據(jù)的方法 推薦
更新時間:2009年06月12日 19:30:21 作者:
前段時間在做項目的時刻??偸怯龅竭@樣一個問題。就是要怎么去讓首頁顯示的內(nèi)容不斷的變化。想了很久。也沒有什么結(jié)果。后面去想了一下。得出以下一個結(jié)果
傳說用這個語句管用:select top 5 * from tablename order by newid()
我放到sql的查詢分析器里去執(zhí)行果然管用,隨機抽取5條信息,不停的換,結(jié)果我應用到程序里的時候就不管用了,總是那幾條,于是對這個東西進行了一個研究得出另一種方法:
newid() 可以產(chǎn)生如:"49869293-8891-4B31-B88E-A584D9621490” 這樣的數(shù)據(jù)結(jié)果,而且每一行產(chǎn)生的都不同,這樣的話,我們就可以在查詢的時候給結(jié)果集里加上這么一個列,比如:
select *,newsid() from 表名
然后我們在給這個結(jié)果集排序,因為每次newid()所產(chǎn)生的值都不同,所以如果排序的話,每次當然也都不一樣,這樣我們就可以隨機挑選幾條數(shù)據(jù)了,那我們在從前面加上一個top 語句就變成了:
select top 10 *, NewID() as random from 表名 order by random
用這樣的方法就可以得到。我們想要結(jié)果了。不信的話你可以去試試。
我放到sql的查詢分析器里去執(zhí)行果然管用,隨機抽取5條信息,不停的換,結(jié)果我應用到程序里的時候就不管用了,總是那幾條,于是對這個東西進行了一個研究得出另一種方法:
newid() 可以產(chǎn)生如:"49869293-8891-4B31-B88E-A584D9621490” 這樣的數(shù)據(jù)結(jié)果,而且每一行產(chǎn)生的都不同,這樣的話,我們就可以在查詢的時候給結(jié)果集里加上這么一個列,比如:
select *,newsid() from 表名
然后我們在給這個結(jié)果集排序,因為每次newid()所產(chǎn)生的值都不同,所以如果排序的話,每次當然也都不一樣,這樣我們就可以隨機挑選幾條數(shù)據(jù)了,那我們在從前面加上一個top 語句就變成了:
復制代碼 代碼如下:
select top 10 *, NewID() as random from 表名 order by random
用這樣的方法就可以得到。我們想要結(jié)果了。不信的話你可以去試試。
相關(guān)文章
SQL Server中的RAND函數(shù)的介紹和區(qū)間隨機數(shù)值函數(shù)的實現(xiàn)
這篇文章主要介紹了SQL Server中的RAND函數(shù)的介紹和區(qū)間隨機數(shù)值函數(shù)的實現(xiàn) 的相關(guān)資料,需要的朋友可以參考下2015-12-12用SQL語句實現(xiàn)隨機查詢數(shù)據(jù)并不顯示錯誤數(shù)據(jù)的方法
用SQL語句實現(xiàn)隨機查詢數(shù)據(jù)并不顯示錯誤數(shù)據(jù)的方法...2007-11-11揭秘SQL Server 2014有哪些新特性(3)-可更新列存儲聚集索引
可更新的列存儲索引作為SQL Server 2014的一個關(guān)鍵功能之一,在提升數(shù)據(jù)庫的查詢性能方面貢獻非常突出。據(jù)微軟統(tǒng)計,在面向OLAP查詢統(tǒng)計類系統(tǒng)中,相比其他SQL傳統(tǒng)版本的數(shù)據(jù)庫,報表查詢的性能最大可提升上十倍。2014-08-08sql自動增長標識導致導入數(shù)據(jù)問題的解決方法
對于一個設了自動增長標識的數(shù)據(jù)表來說,它的字段的值是由數(shù)據(jù)庫自動設置的;這在導數(shù)據(jù)時很麻煩2012-11-11