2010-03-17 21 views
0

我有一個龐大的用戶數據庫(13k +),出於某種原因,我需要創建隨機名稱。用戶表具有「first_name」和「last_name」。現在我想有兩個完全隨機的行的10個連續的full_name和last_name。這甚至可能與SQL?如何根據1個表中的2列獲得一些隨機連接?

我的另一個想法是創建一個full_names和last_names表...但這不會有太大的挑戰性。

哦,它不應該佔用太多的性能:)(由蘭特(所以順序)是不是一種選擇;))

回答

0

我不明白「FULL_NAME和兩個姓氏完全的10個concats隨機行「,所以這可能不會是你的最終答案,但它應該引導你朝着正確的方向前進。要獲得更完整的答案,請提供一些您正在查找的示例輸出以及您的數據庫架構。

這通常應該在代碼中完成,而不是在SQL中完成。但是,它可能在SQL中。有一個要求。您必須具有增量整數鍵列。例如,密鑰應該從1開始並以13000結尾。

根據您的數據庫供應商,RAND()實現可能有所不同。

這裏的查詢:

SELECT CONCAT(u1.first_name, ul.last_name) AS full_name 
FROM users 
WHERE mykey = FLOOR(1 + (RAND() * 13000)) 

如果密鑰有差距,它變得有點棘手,且隨機性,將有利於國內空白,所以我希望沒有任何漏洞。

相關問題