2016-01-13 40 views
-1

得到的記錄隨機數我有一個表:SQL查詢從兩類

id type_id 
1 1 
2 1 
3 2 
4 1 
5 2 
6 2 
7 1 
8 1 
9 2 

等等

我需要得到1型和3個隨機記錄同樣數量的類型2的隨機記錄。我怎樣才能得到它與一個查詢?

回答

1
(select * from your_table where type_id = 1 order by rand() limit 3) 
union all 
(select * from your_table where type_id = 2 order by rand() limit 3) 
+0

只是,我一定要得到隨機值 – Barba

+0

,我需要得到的東西是這樣的: (SELECT * FROM your_table where type_id = 1 ORDER BY RAND()限制3) 工會全部 (select * from your_table where type_id = 2 ORDER BY RAND()limit 3) – Barba

+0

然後恰好使用:) –

0

使用MySQL

SELECT <<columns>> FROM <<table_name>> 
ORDER BY RAND() 
LIMIT <<count>> 

使用Oracle

SELECT * FROM (SELECT * FROM <<table_name>> ORDER BY  
SYS.DBMS_RANDOM.VALUE) WHERE ROWNUM <<Count>>