0
當使用類似SELECT * FROM Object ORDER BY RANDOM() LIMIT 200
的東西時,要從表格中隨機抽取200個對象,是否完成取樣用或而不用替換?我猜測它是與,但我不知道。我還沒有找到關於此的任何文檔。我正在使用SQLite,但我不認爲其中的實現與其他實現不同。ORDER BY RANDOM - 是否有替換?
當使用類似SELECT * FROM Object ORDER BY RANDOM() LIMIT 200
的東西時,要從表格中隨機抽取200個對象,是否完成取樣用或而不用替換?我猜測它是與,但我不知道。我還沒有找到關於此的任何文檔。我正在使用SQLite,但我不認爲其中的實現與其他實現不同。ORDER BY RANDOM - 是否有替換?
首先爲所有行分配一個隨機值,然後選擇最上面的200個,因此無需替換即可完成,因爲不可能對同一行進行兩次選擇。
你能否給我提供一個源代碼? – wnstnsmth
你是什麼意思?數據庫引擎實現這個例子?我可以提出一個簡單的實驗:創建一個表格,添加10行(0..9),如果隨機與替換一起工作,則可以構建任何以限制播放的數字序列,但因爲它不會始終獲得最大值10行,令人驚訝的是,沒有重複的值(如果隨機更換,其可能性非常低)。 – Daren
當然,我可以按照你的說法試用。但它也可以用其他方式實現 - 我真的很想知道是否有任何SQL標準中的文檔,或者至少在某些DBMS參考中。我已經徹底搜索,沒有發現。這就是爲什麼我要求一個消息來源,因爲你怎麼能這麼肯定? ;-)不要誤解我的意思,我也相信你的答案。 – wnstnsmth