Порядок в desc после получения результата от вложенного запроса в mysql - PullRequest
0 голосов
/ 20 февраля 2012

У меня есть 2 таблицы.Я получаю результат в порядке по формату desc.Теперь я хочу отобразить информацию в том же формате заказа.Но я не могу этого сделать.

select *
  from table1  
 where field in (select * 
                   from table2 
                  where StartDate > '2011-11-01' 
                    AND StartDate < '2011-11-30'
               group by field1 
               order by count(field1) desc );

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

1 Ответ

0 голосов
/ 20 февраля 2012

Предложение in не сохраняет порядок, я удивлен, что MySQL даже допускает это так:)

Одним из решений является подсчет количества в подзапросе и его использование для заказа:

select  *
from    table1 t1
join    (
        select  field1
        ,       count(field1) as Field1Count
        from    table2 
        where   StartDate > '2011-11-01' 
                and StartDate < '2011-11-30'
        group by field1 
        ) t2
on      t1.field1 = t2.field1
order by
        t2.Field1Count desc
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...