SQL中取隨機取數量的數據


 方法一:

需求是要在首頁隨機的取出n條數據來推薦給用戶,一開始想隨機id,根據最大id和最小id來隨機的,想想還是算了。

 

后面發現了還能order by rand(),順利的解決了這個需求

select * from table where 1 order by rand() limit 10

 方法二:

想要在SQL隨機抽取樣本數,

主要思想:就是隨機產生一列隨機數,並對隨機數進行排序,再進行抽取前1000行
下面舉例:
# 隨機從總樣本中抽取1000個樣本,保存在table_name表中

 

create table table_name as  # 創建一個表table_name
select b.* from(
select rand() as index_name, a.* from table_name_a as a #對表table_name_a賦值一個隨機數) as b #將新表賦值為表b
order by b.index_name desc #對表b的隨機數index_name進行排序
limit 1000 #對排序的取前1000

  

LIMIT簡單介紹:
 select * from table_name

 limit 100,10  #提取從第101行數據樣本,總共抽取10個樣本


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM