2011-05-21 5 views
0

Я прошу, если есть возможность заказать результаты по потомку порядком числа появления строк, пример для уточнения: вот мой стол:Как получить строки по убыванию по номеру?

foo 
foo1 
foo 
foo 
foo1 
foo2 

вот мой результат после запроса (что я не могу догадаться) вызов:

foo 
foo 
foo 
foo1 
foo1 
foo2 

сог Foo apears 3 раза, то foo1 что apears 2 раза, а затем foo2 apears всего 1 раз.

Итак, как выглядит запрос?

Буду признателен за любую поддержку! С уважением!

ответ

0
select t1.col from 
table as t1 inner join (
select col,count(col) as num 
from table 
group by col) as t2 
on t1.col = t2.col 
order by t2.num desc 
+0

@nick rulez thank, но можете ли вы описать запрос немного? –

+0

Эта часть запроса «select col, count (col) как num из таблицы group by col» дает вам каждое отдельное значение и его количество вхождений (попробуйте запустить его, чтобы увидеть результат). Поскольку вам нужны все одиночные записи, вам нужно сделать соединение между вашей таблицей и запросом, который я написал вам выше. Наконец, вы сортируете в порядке убывания результат по количеству вхождений, которые вы нашли с этим запросом. –

+0

@nick rulez, ваш первый запрос сделал цель (без «join»), отлично подходит для вас! Благодарю вас! –

Смежные вопросы