2015-12-01 5 views
0

Привета У меня есть вопрос, имеющий SQL какГруппы по основнымам счетов

select top 100 tab.user as username, 
case tab.event 
    when 1 then 'Add' 
    when 2 then 'Remove' 
    when 3 then 'Update' 
end as event, 
count(tab.countOfEvents) as count_events 
from history tab 
where tab.even is not null and tab.date <= DATEADD(day, 1, getdate()) 
group by tab.event, tab.user 
order by count_events desc 

Im получая результат, как:

user event count_event 
    a Update 100 
    b Update 89 
    a Add  19 
    c Remove 18 
    b Add  10 
    a Remove 9 

Теперь возможно, что я могу получить результат отсортирован по highes активности пользователя (сумма из activieties), но по-прежнему отсортированы пользователем (мне нужно название события), например:

user event count_event 
    a Update 100 
    a Add  19 
    a Remove 9 
    b Update 89 
    b Add  10 
    c Remove 18 

    etc ... 
+0

порядок от пользователя, count_events desc – jarlh

+0

Вы ищете 'заказ по asc, count_events desc'? –

+0

Я не могу видеть поле активности пользователя в любом месте :( – Arvo

ответ

3

Вы заказали только на count_ev поле.

Если вы хотите изменить критерии порядка, изменить:

order by count_events desc 

в

order by tab.user, count_events desc 

таким образом, вы будете заказывать сначала пользователем, а затем count_events.

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