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

MYSQL SELECT произволен на голяма таблица ORDER BY SCORE

така че, за да получа нещо подобно, бих използвал подзаявка.. по този начин вие поставяте само RAND() на външната заявка, което ще бъде много по-малко облагащо.

От това, което разбрах от въпроса ви, искате 200 мъже от таблицата с най-висок резултат... така че това би било нещо подобно:

SELECT * 
FROM table_name
WHERE age = 'male'
ORDER BY score DESC
LIMIT 200

сега, за да рандомизирате 5 резултата, ще бъде нещо подобно.

SELECT id, score, name, age, sex
FROM
(   SELECT * 
    FROM table_name
    WHERE age = 'male'
    ORDER BY score DESC
    LIMIT 200
) t -- could also be written `AS t` or anything else you would call it
ORDER BY RAND()
LIMIT 5


  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. .NET Core 2.1 Identity получава всички потребители с техните свързани роли

  2. MySQL предупреждение:Неправилна стойност на низ:'\x96

  3. Какъв е недостатъкът при използването на поле с размер на дълъг текст на MySQL, когато всеки запис ще се побере в поле с размер на среден текст?

  4. Как да върнете 0 вместо null, когато използвате COUNT в MySQL

  5. Грешка ETIMEOUT | Google Cloud SQL база данни с NodeJS