sql >> Database teknologi >  >> RDS >> Mysql

MYSQL SELECT tilfældigt på stort bord BESTIL EFTER SCORE

så for at få noget som dette ville jeg bruge en underforespørgsel .. på den måde sætter du kun RAND() på den ydre forespørgsel, hvilket vil være meget mindre belastende.

Efter hvad jeg forstod ud fra dit spørgsmål, vil du have 200 mænd fra bordet med den højeste score... så det ville være sådan her:

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

For nu at randomisere 5 resultater, ville det være noget som dette.

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. Oracle Dato-format

  2. OPDATERING TABEL MED SUM

  3. Hvordan gemmer jeg en streng længere end 4000 tegn i en Oracle-database ved hjælp af Java/JDBC?

  4. Hvordan eksporteres forespørgselsresultat til csv i Oracle SQL Developer?