Сортировка по некоторому столбцу, а также по rand () в MySQL - PullRequest
0 голосов
/ 21 октября 2010

Можно ли отсортировать набор результатов по некоторому столбцу, а также по RAND ()?

Например:

  SELECT `a`, `b`, `c` 
    FROM `table` 
ORDER BY `a` DESC, RAND() 
   LIMIT 0, 10

Спасибо.

Ответы [ 2 ]

7 голосов
/ 21 октября 2010

То, что вы делаете, является действительным - оно упорядочит результаты в порядке убывания на a, но случайным образом упорядочит связи.

Однако, чтобы сделать то, что вы хотите, сначала нужно использовать подзапрос, чтобы получитьпоследние 100 записей и затем случайным образом сортируют результаты этого подзапроса, используя внешний запрос:

SELECT * FROM
(
    SELECT * FROM table1
    ORDER BY date DESC
    LIMIT 100
) T1
ORDER BY RAND()
0 голосов
/ 20 декабря 2017

Я знаю, что это старый, но я обнаружил ... Пример:

выберите photo.sort_order, profile.description не равно nuc как desc_order, profile.description, rand () как r из фотографиифото, порядок профиля профиля по photo.sort_order desc, desc_order desc, r ASC

...