sql >> データベース >  >> RDS >> Mysql

GroupByを使用する場合のMySQLでのSelectサブクエリのランダム化

    おかしなことに、サブクエリで必要な列を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つでトリックをテストし、それが機能しました。




    1. 書き込みまたは更新時にキーが重複していますか?

    2. SQLServerログ配布とディザスタリカバリのインストールと構成-4

    3. 閉じて再度開いた後、HTMLフォームの入力を続行します

    4. MySQLの二重型の比較が失敗する