我擁有的表格大約有100多萬個條目,默認情況下它是按'A'排序的。可能有許多項目與列A相同,A從0增加到...一個很大的數字。我嘗試過TABLESAMPLE,但它並沒有從每個數字中選擇一個好的數字,它跳過了其中的一部分,或者我沒有使用它。所以我想從每個A號碼中選擇相同數量的值。我希望所選行的總數是一個數字,比方說1000萬,或者我們稱之爲B.從巨大的表格中選擇小樣本的快速方法
0
A
回答
2
雖然我不清楚你需要達到什麼,但當我需要一個大樣本子集時是很好的父母和/或共同的屬性值之間的分配,我已經做了這樣的:
SELECT *
FROM YourTable
WHERE (YourID % 10) = 3
這也具有的優點是,你可以通過改變「3」得到另一個完全不同的樣品只是另一個數字。另外,您可以通過調整「10」來更改子樣本大小。
1
您可以使用NEWID()
:
SELECT TOP 100
*
FROM
YourTable
ORDER BY NEWID()
0
@RBarryYoung的解決方案是正確的,通用的,它可以用於任何常量統計分佈,如ID序列(或任何自動增量列)。但是,有時候,您的分發不是恆定的,或者您可能遇到性能問題(SQL Server必須掃描所有索引條目以計算WHERE子句)。
如果其中任何會影響您的問題,考慮到內置的T-SQL操作TOP
可滿足您的需求:
SELECT TOP (30) PERCENT *
FROM YourTable;
相關問題
- 1. 從大表中查詢小選擇的最快方法?
- 2. 選擇從巨大的文本文件
- 3. 提高查詢速度:簡單SELECT從SELECT表中選擇巨大的表
- 4. 查詢mongodb中的巨大列表的最快方法
- 5. 快速grep在巨大的csv文件
- 6. 如何從巨大的.mat文件中快速加載一個小變量?
- 7. Django中的巨大表格?
- 8. 這是一個快速的方法來從表中選擇隨機行
- 9. C++快速選擇列表元素的方法
- 10. 處理巨大的選擇列表
- 11. ValueError:樣本大於從圖中選擇樣本的人口
- 12. 快速的方式在滑動巨大的csv文件
- 13. 選擇,巨大的結果
- 14. 如何快速導入mysql的一個巨大的sql腳本?
- 15. 如何從快速巨大的表給定範圍內選擇值的總和(德比)
- 16. 在PHP中檢查圖片大小的快速方法
- 17. 建議一種從oracle中的巨大表中刪除小數據的方法
- 18. 什麼是從一個巨大的數據庫中選擇行的最快方法?
- 19. 優化對巨大表格的選擇查詢?
- 20. 在巨大的表格中存儲速度的「標籤」的最佳方式
- 21. 在GLSL中選擇cubmap face的快速方法
- 22. 在netBeans中選擇一條線的快速方法
- 23. 讀取特定行從一個巨大的文件*快速*
- 24. 在選擇框中快速選擇整個optgroup的簡單方法
- 25. 在C#中從大端到小端交換字節的快速方法
- 26. 快速從mysql數據庫中選擇最後n條記錄os大小700Mb
- 27. 在eclipse中快速選擇線條的快捷方式
- 28. Mysql的degsin快速選擇
- 29. 從java中的巨大excel文件中讀取數據的最快方法
- 30. 從兩個表中選擇速度快的數據
什麼數據庫和版本您使用的? –
即時通訊使用ms sql-server – luis
似乎你想要一個非常具體的集合,而不是樣本。每次運行查詢時,每個A編號的值集合是否需要不同/隨機?你能描述桌子上的索引嗎?一個重要的區別:表格不是「默認排序」 - 表格是無序的一組行。雖然可能有一個聚集索引指示分配順序,但並非所有查詢都會按該順序返回數據,因此不應依賴它。 –