おかしなことに、サブクエリで必要な列をgroup by
に追加することで、ようやく機能するようになりました。 、このように:
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
リクエスト全体をテストしませんでしたが、私のDBの1つでトリックをテストし、それが機能しました。