|
|
在MYSQL 中如何隨機取得N條記錄?
|
|
在MYSQL 中如何隨機取得N條記錄?
|
|
|
Re: 在MYSQL 中如何隨機取得N條記錄?
|
|
我只想到一個辦法,首先用一個循環,生成隨機數,一次一個。然後在查詢時使用
limit子句。如隨機數為id,則select 語句為:
select * from table where condition limit id,1
試試看吧。
---------------------------- 學習 PHP, Python ,歡迎交流 http://phprecord.126.com
|
|
|
Re: 在MYSQL 中如何隨機取得N條記錄?
|
|
我覺得這樣會不會資源開銷很大?
有沒有類似的函數?
|
|
|
Re: 在MYSQL 中如何隨機取得N條記錄?
|
|
我也不知道有什麼別的辦法,像你這種用法還第一次看到。
---------------------------- 學習 PHP, Python ,歡迎交流 http://phprecord.126.com
|
|
|
Re: 在MYSQL 中如何隨機取得N條記錄?
|
|
現在我也在為你所說的這個問題而煩惱,你解決了嗎?能告訴小弟嗎?
|
|
|
Re: 在MYSQL 中如何隨機取得N條記錄?
|
|
試試:select * from xxx order by rand( ) limit 0,n
|
|
|
Re: 在MYSQL 中如何隨機取得N條記錄?
|
|
我用的方法是循環,選擇n個id號,並生成用逗號分隔的字符串,比如是$idString,最後再select * from xxx where id in ($idString),思路是一樣的,但開銷會小一點。
|
|
|
Re: 在MYSQL 中如何隨機取得N條記錄?
|
|
xy100的方法真是高,第一次見這樣的語法,想破頭我也想不到!
|
|
|
Re: 在MYSQL 中如何隨機取得N條記錄?
|
|
過獎了。
|
|
|
Re: 在MYSQL 中如何隨機取得N條記錄?
|
|
有一本書叫'mysql網絡數據庫指南'中就有介紹,rand()
|