2016-12-27 7 views
-2

У меня есть таблица PAYTB с информацией о транзакции. Таблица содержит ACAUREQ_AUREQ_ENV_M_CMONNM, который является обычным торговым именем.Порядок по наиболее частому появлению в SQL

Теперь я хочу, выход так:

orders   ACAUREQ_AUREQ_ENV_M_CMONNM  
---------+---------+---------------- 
100    Antique Shop  
30    Airleisure  
23    Books 
12    ....   

Как я могу построить столбец «заказы», ​​который является подсчет всех сделок с определенным общим названием купца?

+3

В Google COUNTING ничего не говорится о ценности? – dfundako

ответ

1

Вы должны сгруппировать по ACAUREQ_AUREQ_ENV_M_CMONNM и найти количество строк для каждого, то порядок на этот счет в порядке убывания.

SELECT COUNT(*) orders, 
    ACAUREQ_AUREQ_ENV_M_CMONNM 
FROM PAYTB 
GROUP BY ACAUREQ_AUREQ_ENV_M_CMONNM 
ORDER BY orders desc; 
+0

заказ не работает на построенной колонке – Esperento57

+0

@ Esperento57 Он делает. Попробуйте – GurV

+1

@ Esperento57 процедура order by обрабатывается в последний раз, поэтому движок базы данных знает об этом в этот момент. Тем не менее, вы не можете использовать псевдоним в условии предложения, как оно обрабатывалось до 'select' – GurV

0

вы хотите использовать группу по:

select count(*) as orders, ACAUREQ_AUREQ_ENV_M_CMONNM 
     from PAYTB 
     group by ACAUREQ_AUREQ_ENV_M_CMONNM; 
+0

просто добавьте заказ от;) – Esperento57

1
SELECT count(*) as orders , ACAUREQ_AUREQ_ENV_M_CMONNM 
FROM PAYTB 
GROUP BY ACAUREQ_AUREQ_ENV_M_CMONNM 
ORDER BY 1 desc; 
0

Сортировать по Количеству (*) по алфавиту, чтобы показать убывание отсчетов в группе по выражению.

SELECT count(*) as orders , ACAUREQ_AUREQ_ENV_M_CMONNM 
FROM PAYTB 
GROUP BY ACAUREQ_AUREQ_ENV_M_CMONNM 
ORDER BY count(*) desc;