sql >> Databasteknik >  >> RDS >> Mysql

Randomizing Välj underfråga i MySQL när du använder GroupBy

Roligt, jag fick det äntligen att fungera genom att lägga till kolumnerna vi ville ha i underfrågan i en group by , så här :

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

Testade inte hela begäran, men testade tricket på en av mina DB och det fungerade.




  1. Hur lägger man till AUTO_INCREMENT i en befintlig kolumn?

  2. Hur infogar man flera rader i en enkel infogningssats?

  3. Skapa en tabell i SQLite

  4. Fel vid användning av pymysql i kolven