作者cloudsan (趴千)
看板Database
標題Re: [SQL ] 群組中亂數取一筆資料
時間Fri Dec 7 19:37:43 2012
SELECT r.cate,
(SELECT r1.id FROM test.test r1 WHERE r.cate=r1.cate ORDER BY rand() LIMIT 1)
AS 'id' FROM test.test r
GROUP BY r.cate ;
把test.test代換成你的tabelname吧
學弟加油XD
※ 引述《rghxh (rghxh)》之銘言:
: db: mysql
: 假設我有一個table如下
: id num cate
: -----------------
: 1 5 a
: 2 2 b
: 3 3 c
: 4 10 c
: 5 12 a
: 6 7 b
: 7 7 b
: 我想要在每個cate群組中以亂數的方式各取一筆
: ex
: cate id
: a 5
: b 6
: c 3
: 請問我該怎麼下sql呢?
--
※ 發信站: 批踢踢實業坊(ptt.cc)
◆ From: 42.73.3.208
推 LaPass:order by rand會讓資料庫負荷很大說..... 12/09 17:41
→ cloudsan:是沒錯...但這個需求有建議的更佳解嗎@@? 12/09 21:39
推 TeemingVoid:可參考以下兩份文件改進亂數排序效能: 12/09 23:38
→ cloudsan:謝指教! 12/10 00:50
推 rghxh:謝指教!!! 12/13 10:14