Excel 2010 SQL應用086 隨機排序

2021-10-16 11:47:40 字數 1662 閱讀 5154

目錄

源資料表

解決方案

隨機排序技巧

偽隨機數概念 學號

姓名1000980

羅大吳1002128

羅文1000881

張汶1001511

吳小麗1004831

柳生風1001586

樑先麗1002699

張通1004851

古鳳1000956

吳明麗1005353

趙香華1004493

吳風1001694

閏關1007361

吳巨集豔1008715

張大亮1003153

張正難1007363

柳文明1006978

陳明明1006474

趙正雲1004521

周星星1009711

周正亮1009636

朱麗麗1008744

吳芳華1004028

陳正雄1004967

周泰1004502

劉星星1009763

陳星1009801

柳香香1005930

朱朱1009893

吳華1004914

黃文風1005097

王重陽1009954

陳正明1003765

劉吳薪1007831

陳昆1009991

趙應芳1004389

朱華麗1009235

歐陽正雄

如圖所示為某次考試考生的名單。對考生利用sql進行隨機排序。

select * 

from [sheet1$]

order by rnd(學號)

rnd函式原本為office vba中的函式,在excel sql查詢語句中,rnd函式同樣有效,其語法如下:

rnd(number)
rnd函式用於產生乙個大於或等於0且小於1的偽隨機數列,每呼叫rnd函式一次,即可生成該數列中下乙個隨機數。引數number為可省略的引數,其標誌著隨機數產生的種子。

當該值大於0時,將產生不同的隨機數列,number小於或等於0或者省略時,將產生固定的隨機數。在excel sql查詢運算中,number值可以取某個數字欄位的值,以表示該字段的值作為

隨機數的種子而生成不同的隨機數。

本例中,可以利用「學號」字段作為隨機數的種子,利用rnd函式將每個學號作為種子.可以生成不同的隨機數。因而可以以該隨機數作為關鍵字進行排序,從而實現隨機排序.

當number採用的字段為0或者負數時,或者number為使用者自定義的某個常數而非字段時,rnd函式將會對所有的記錄產生相同的隨機數,而此時則無法利用該隨機數對記錄進行隨機

排序。在excel sql中的rnd函式和vba中的rnd函式有所不同:在vba中的rnd函式語法與excel sql中的rnd函式語法一致,但是number引數的取值表示不同的含義。在vba中,number為負數時,rnd函式會將該number作為隨機數種子進行隨機數取值,這一點恰恰與excel sql中的rnd函式相反。

rnd函式生成的是偽隨機數。所謂偽隨機數,看似為隨機數,實質上在較長序列取值時還是有規律可循的。在大量的資料測試中,可能會得到相同的隨機數列,從而導致多次隨機排

序出現相同的結果。但是在日常運用中,此偽隨機數完全可以滿足一般使用者的需要。

Excel 2010 SQL應用065 反轉回文詩

目錄 源資料表 解決方案 回文詩悠悠綠水傍林偎 日落觀山四望回 幽林古寺孤明月 冷井寒泉碧映臺 鷗飛滿浦漁舟泛 鶴伴閒亭仙客來 遊徑踏花煙上走 流溪遠棹一篷開 中國古典詩詞是世界語言文學中的奇葩,很多作品流傳至令,廣為傳頌。回文詩又是中國古典詩詞中一種比較獨特的體裁,因為該體裁的詩回環往復都可以誦讀...

Excel 2010 SQL應用083 降序排列

區域銷售員 銷售數量 銷售額一區 何豔3730 216340 二區彭勤 5822 291100 三區葉倩 4014 220770 三區曾德昌 9198 542682 一區曹乾剛 6202 347312 一區雷小露 6992 384560 二區餘佳麗 3661 197694 三區鄧明昊 2548 15...

Excel 2010 SQL應用084 TOP謂詞

姓名語文 數學英語 何豔94 6280 何冬梅86 6493 馮晨90 6474 彭勤77 6789 葉倩63 6883 曾德昌90 6993 曹乾剛70 6984 雷小露79 7079 餘佳麗93 7199 趙林78 7177 鄧明昊81 7287 邱志娟84 7487 馬琴63 7476 王清秀...