sql >> Database >  >> RDS >> Mysql

Randomiseren Selecteer subquery in MySQL bij gebruik van GroupBy

Grappig, ik heb het eindelijk laten werken door de kolommen die we wilden in de subquery toe te voegen in een group by , zoals dit :

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

Ik heb niet het hele verzoek getest, maar de truc getest op een van mijn DB en het werkt.




  1. Opmerking:niet-gedefinieerde variabele:db bij gebruik van PDO

  2. MySQL:benoemde parameters met PREPARE-opdracht?

  3. groeperen door met het toevoegen van de waarden

  4. Aanbevolen manier/volgorde om gegevens van een webservice te lezen, die gegevens te ontleden en in een SQLite-database in te voegen