1

こんにちは私は場所ASCによって順序付けられたいくつかのランダムな結果を取得しようとしています。

これは私の質問です:

SELECT `location`, `route`
FROM (`foo`)
WHERE `location` != ''
ORDER BY  RAND(), `location` ASC
LIMIT 8 

問題は、ランダムに取得されますが、「ロケーション」ASCによって注文されないことです。これを行う場合も、次のようになります。

SELECT `location`, `route`
FROM (`foo`)
WHERE `location` != ''
ORDER BY  `location` ASC,RAND()
LIMIT 8 

ランダムにはなりません。

どうすればtogheterRAND()との両方を入手できORDER BY location ASC ますか?

4

1 に答える 1

3

ネストされたステートメント/クエリが必要です:

SELECT *
FROM (
    SELECT `location`, `route`
    FROM `foo`
    WHERE `location` != ''
    ORDER BY RAND()
    LIMIT 8) AS `temp`
ORDER BY `location` ASC;
于 2013-01-14T08:45:32.803 に答える