收到隨機組合,這是原來的問題:有一點麻煩的MySQL查詢到從3個表
好吧,這裏是我的問題,我有兩個 表,一個名爲firstnames和 其他命名爲姓氏。我在此嘗試的 是從這些 名稱中找到100個 用於測試數據的可能組合。第一個名稱爲 的表在單個 列中有5494個條目,並且在單列中的姓氏表具有 88799個條目。我已經能夠 的 只查詢拿出有一定的效果是:
SELECT * FROM (SELECT * FROM firstnames ORDER BY rand()) f LEFT JOIN (SELECT * FROM lastnames ORDER BY rand()) l ON 1=1 limit 10; The problem with this code is
它選擇1個名字並給出 每一個名字,可以用它去。 雖然這是合理的,我會 設定的上限,以5億在 爲了得到所有組合 可能,而不必僅20第一 名(和我寧願不殺我 服務器)。但是,我只需要100 隨機世代的條目爲 測試數據,而我將無法通過 獲得該代碼。任何人都可以 請給我任何建議?
- 以上問題已經回答,我需要關於下面問題的建議。我只是提供它作爲背景。
我想加入另一個表到混合命名狀態。這個表在一列中有5個條目,每當我嘗試將它連接到另外兩個表時,它就結束了重複其他兩個表,以便狀態標籤符合其中的每一個。那我越來越溫和的成功,唯一的一個是這樣的:
SELECT *
FROM (SELECT firstnames FROM firstnames ORDER BY RAND() LIMIT 5) AS First
JOIN (SELECT lastnames FROM lastnames ORDER BY RAND() LIMIT 5) as Last
JOIN (SELECT status FROM status ORDER BY RAND() LIMIT 1) AS Status ON 1=1;
雖然姓和名不要在此查詢重複,只有一個身份標籤,列出他們每個人。非常感謝你們的幫助!
執行表有一個'id'場(主鍵)? –
不,他們沒有。我原本確實在每張桌子上放了他們,但它造成了一團糟。 – Michael
相關問題:http://stackoverflow.com/questions/6506709/mysql-query-to-receive-random-combinations-from-two-tables –