Порядок SQL по переменной во внутреннем выражении - PullRequest
2 голосов
/ 13 декабря 2011

У меня есть запрос MySQL, подобный этому:

SELECT * 
FROM backstage 
WHERE backstage_id IN (
    SELECT backstage_id 
    FROM visitor_counter 
    WHERE backstage_id !=0 
    GROUP BY backstage_id 
    ORDER BY COUNT( DISTINCT ( ip_address ) ) DESC 
) 
LIMIT 0 , 100

Я получаю результаты, которые хочу, но я бы хотел заказать их по COUNT( DISTINCT ( ip_address ) ) DESC, как это делает внутренний вопрос.

Какие-нибудь советы, как это сделать?

1 Ответ

2 голосов
/ 13 декабря 2011

Попробуйте и посмотрите, даст ли он вам то, что вы ищете:

select bs.*
from backstage bs
inner join
(
select backstage_id,count(distinct ip_address) as distIpCount
from visitor_counter
where backstage_id !=0
group by backstage_id
) vc on vc.backstage_id = bs.backstage_id
order by vc.distIpCount desc
limit 0,100;
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...