有沒有辦法從數據庫表中顯示一定數量的隨機記錄,但是很受創建日期和時間的影響。是否有用於顯示僞隨機數據庫記錄的SQL Server功能?
例如:
- 出10條隨機的,但
表示具有比最早
更多的頻率最新的說,有在
news
表100項- 最近(按日期時間)的記錄幾乎有100%被選中的機率
- 第一(由日期時間)記錄將有被選擇
- 第50(由日期時間)記錄的幾乎0%的機會將有被選擇
的50%的機會是存在於MSSQL這樣的事直?或者是否有一些功能(最佳做法)在C#我可以使用這個?
日Thnx
** 編輯:標題實在是太可怕了,我知道了。如果您有更具描述性的內容,請修改。 thnx
我們在談論多少條記錄?是否附有數字ID? – aronchick 2010-07-09 22:01:53
一個簡單的方法是根據你想要多少元素來選擇元素中的每一個元素。然後你總結所有這些權重,並在該範圍內選擇一個隨機數。然後再次遍歷所有元素,找出實際選取的元素。例如,3個元素的權重分別爲25,25和50.您隨機選取了第37個元素,這個元素位於第2個元素(25-49,含)之內。 – 2010-07-09 22:02:43
@aronchick記錄可以從1到最大詮釋我猜:P – b0x0rz 2010-07-09 22:05:31