1. 程式人生 > >用python 取得mysql隨機一條記錄的取巧辦法

用python 取得mysql隨機一條記錄的取巧辦法

網上有很多關於如何從資料庫取得隨機一條記錄的辦法,包括

SELECT RAND() * MAX(id) FROM random;

還有據說是效率最低的辦法:

SELECT * FROM foo ORDER BY RAND() LIMIT 1 

至於其他的方法,可以參照其他的文章。這個就不貼地址了。
我說我的一個偷懶的辦法。那就是利用 Python的 random 庫。
random 裡面有這樣的一個方法

random.choice(seq)
Return a random element from the non-empty sequence seq. If seq is empty, raises IndexError.

注意這裡的seq,是個序列,那麼我們取得的結果集是不是就是一個序列啊?
既然是 那就別猶豫了,直接 choice 就行了啊。

strSQL='select * from dc_pool '
cursor.execute(strSQL)
results=cursor.fetchall()
res=random.choice(results)

貌似效率也還行。