sql >> Databáze >  >> RDS >> Mysql

Randomizace Vyberte poddotaz v MySQL při použití GroupBy

Legrační, nakonec jsem to zprovoznil přidáním sloupců, které jsme chtěli v poddotazu, do group by , takhle :

SELECT 
    country.guid,
    country.Name AS 'country name',
    country.Area_id,
    country_cities.guid,
    country_cities.name AS 'city name',
    country_streets.guid,
    country_streets.name AS 'country streets',
    memebers.name.guid,
    memebers.name AS 'street members'
FROM
    country
        JOIN
    (SELECT 
        RAND() as seed, country_id, guid, name
    FROM
        street_members GROUP BY seed, name, guid,country_id ORDER BY seed) memebers ON memebers.country_id = country.id
        JOIN
    country_cities ON country_cities.country_id = country.id
        JOIN
    country_streets ON country_streets.city_id = country_cities.id
GROUP BY country.guid , country_cities.guid , country_streets.guid
ORDER BY RAND()
LIMIT 0 , 100

Netestoval jsem celý požadavek, ale vyzkoušel jsem trik na jednom z mých DB a funguje to.




  1. Jak vložit do stejné tabulky v MySQL?

  2. Nelze spustit Insert and Select LAST_INSERT_ID() ve stejném dotazu?

  3. Spotlight Cloud Basic:Nejlepší bezplatný nástroj pro monitorování výkonu databáze

  4. Připojení k MySQL na vzdáleném serveru z pythonu