Mysql
 sql >> база данни >  >> RDS >> Mysql

Комбинирайте произволно две думи от MySQL база данни

Можете да получите 10 произволни елемента на тип със заявки като това:

select word from YOUR_TABLE where type = 'noun' order by rand() limit 10;
select word from YOUR_TABLE where type = 'adj' order by rand() limit 10;

и след това ги съберете заедно във вашия PHP код, така:

$phrases = array();

$adj_result  = mysql_query("SELECT word FROM words WHERE type = 'adj' ORDER BY RAND() LIMIT 10");
$noun_result = mysql_query("SELECT word FROM words WHERE type = 'noun' ORDER BY RAND() LIMIT 10");

while($adj_row = mysql_fetch_assoc($adj_result)) {
  $noun_row = mysql_fetch_assoc($noun_result);
  $phrases[$adj_row['word']] = $noun_row['word'];
}

print_r($phrases);

Моля, обърнете внимание, че този код не е много безопасен (предполага се, че втората заявка винаги дава поне толкова резултати, колкото първата), но разбирате идеята.

Редактиране:Ето една SQL заявка, която трябва да го направи:

select t1.word, t2.word 
from 
  ((select word from YOURTABLE where type = 'adj' order by rand()) as t1), 
  ((select word from YOURTABLE where type = 'noun' order by rand()) as t2) 
order by rand()
limit 10;

РЕДАКТИРАНЕ:премахнат пример




  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. външна база данни с Adobe CQ5?

  2. Грешка в израза на пътя на MySQL JSON_EXTRACT

  3. MySQL ::Изберете от разделен със запетая низ

  4. Mysql изберете къде не е в таблицата

  5. Как да присвоите повторно колона AUTO_INCREMENT за всеки ред в MySQL таблица с помощта на PHP