ORDER BY NEWID()【原创】
生活随笔
收集整理的這篇文章主要介紹了
ORDER BY NEWID()【原创】
小編覺得挺不錯的,現在分享給大家,幫大家做個參考.
關于ORDER BY NEWID(),我是這么理解的:
NEWID()是一個產生隨即uniqueidentifier的函數,對于ORDER BY子句來說,如果后面接的是一個常量字符串,那么每次排序的順序都是一樣的,如果后面接的是變量,那么每次排序的結果有可能不同,注意了,是有可能不同,也就是說還有可能相同的情況。舉個例子:
SELECT * FROM Users ORDER BY money DESC,NEWID()
要想每次排序都不同的話,那么NEWID()必須是緊跟在ORDER BY子句后面的。例如:
SELECT * FROM Users ORDER BY NEWID(),money DESC
其實money已經不起作用了。
對于排序的原理,我是這么理解的,不知是否正確,請大家批評:
每個數據庫和操作系統對于字符編碼的排列順序是有可能不同的,這就對ORDER BY的排序結果產生了影響。
依據ORDER BY的排序條件,對字段里的值進行一一比較排序,形成最終的結果集。
由于NEWID()每次生成的值都不一樣,也就是形成了每次結果集里的記錄排列順序都是不同的。
轉載于:https://www.cnblogs.com/ProgRamMer-cSdn/archive/2008/10/13/1309870.html
總結
以上是生活随笔為你收集整理的ORDER BY NEWID()【原创】的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 华为畅享5多少钱啊?
- 下一篇: HK-2000 数采仪系统说明之 5.H