使用Oracle分析函式隨機抽取N條記錄
模擬一個歌曲表,有歌曲ID和作者ID
並且初始化一些資料
要求:
每個作者隨機抽取他的3個作品。
SQL如下
第一次執行:
![](https://i.iter01.com/images/94febd37ef4de72b7b6f611791f7a3a3403095094dd1edd7e0b92b1015e23f16.jpg)
第二次執行:
![](https://i.iter01.com/images/d5d56fd131f5e9052515d034cb5284980f20c40844e8b1c07c308bbeb87e5565.jpg)
這個方法只針對Oracle有效(使用了它的分析函式)
並且初始化一些資料
-
create table music(
-
music_id int primary key,
-
userid int
-
);
-
insert into music(music_id)
-
select rownum rn from dual connect by level<1000;
-
update music set userid= mod(music_id,5);
- commit;
每個作者隨機抽取他的3個作品。
SQL如下
-
select * from
-
(
-
select music_id,userid,ROW_NUMBER() OVER (PARTITION BY userid ORDER BY dbms_random.random()) rn from music
-
)
- where rn<=3;
第一次執行:
![](https://i.iter01.com/images/94febd37ef4de72b7b6f611791f7a3a3403095094dd1edd7e0b92b1015e23f16.jpg)
第二次執行:
![](https://i.iter01.com/images/d5d56fd131f5e9052515d034cb5284980f20c40844e8b1c07c308bbeb87e5565.jpg)
這個方法只針對Oracle有效(使用了它的分析函式)
來自 “ ITPUB部落格 ” ,連結:http://blog.itpub.net/29254281/viewspace-1257510/,如需轉載,請註明出處,否則將追究法律責任。
相關文章
- Oracle 隨機函式Oracle隨機函式
- MongoDB隨機查詢返回一條或N條記錄的方法MongoDB隨機
- Python隨機函式random使用詳解Python隨機函式random
- Oracle分析函式與視窗函式Oracle函式
- uniapp 隨機抽取影片播放APP隨機
- Oracle OCP(06):通用函式和條件表示式Oracle函式
- ORACLE分析函式手冊(轉)Oracle函式
- 不同資料庫限制取前N條記錄資料庫
- Oracle分析函式之開窗函式over()詳解Oracle函式
- Golang 常用函式記錄Golang函式
- MySQL、Oracle後設資料抽取分析MySqlOracle
- mysql 隨機查詢記錄MySql隨機
- openresty及lua的隨機函式REST隨機函式
- ORACLE分析函式手冊二(轉)Oracle函式
- makefile 條件判斷用法和 自定函式用法簡單記錄函式
- 斐訊 N1 刷機記錄
- 函式 - Go 學習記錄函式Go
- [系列文章] 函式 - 記錄1函式
- Oracle中Decode()函式的使用Oracle函式
- oracle資料庫常用分析函式與聚合函式的用法Oracle資料庫函式
- Oracle學習筆記(6)——函式Oracle筆記函式
- 隨機跳題記錄簿 - 1隨機
- 隨機更新:補題記錄x隨機
- 隨機變數函式的分佈隨機變數函式
- 【函式】Oracle12c 列轉行函式使用listagg函式Oracle
- N1, T1刷機記錄
- oracle 函式Oracle函式
- oracle or 函式Oracle函式
- 挺有意思:PHP 將N秒內連續的記錄視為一條記錄PHP
- Matlab產生隨機數函式小結Matlab隨機函式
- 條件函式函式
- MySQL函式-條件判斷函式MySql函式
- 蒙特卡洛——使用CDF反函式生成非均勻隨機數函式隨機
- MySQL函式查詢目錄樹問題記錄MySql函式
- Oracle常用函式Oracle函式
- 7 Oracle 函式Oracle函式
- Oracle 字串函式Oracle字串函式
- Oracle 字串函式Oracle字串函式
- Oracle分析函式-first_value()和last_value()Oracle函式AST