2013-07-03 3 views
1

Я хотел бы знать, как часто конкретный пользователь делает деятельность в тот же деньрезультатов Группы сгруппированных запроса

SELECT COUNT(*) FROM Activity 
GROUP BY entity_uid, date 

Это возвращает длинные списки подсчетов: т.е.

1 
1 
2 
1 

I 'd, то хотелось бы сгруппировать результаты этого запроса, которые расскажут мне, как часто каждый номер появляется в результирующем наборе, например:

# Count(*) 
1 3 
2 1 

Вот что у меня есть, но он не работает

Select x = (
      SELECT COUNT(*) FROM Activity 
      GROUP BY entity_uid, date 
      ), 
     Count(*) 
GROUP BY x 

Как я могу выбрать результаты подзапроса в переменной?

ответ

2

Попробуйте ниже

select daily_user_count, count(*) from (
SELECT COUNT(*) as daily_user_count FROM Activity 
GROUP BY entity_uid, date 
) Z 
group by daily_user_count 
+0

Что такое 'Z' делать после запроса. Он работает с ним и без него не работает. – KyleMit

+1

@KyleMit, 'Z' является псевдонимом для [производной таблицы] (http://www.sqlservercentral.com/blogs/vivekssqlnotes/2012/04/15/derived-table-in-sql-server/) – iruvar

1

Попробуйте

SELECT Frequency, COUNT(*) [Count] 
FROM (
    SELECT COUNT(*) Frequency 
    FROM Activity 
    GROUP BY entity_uid, date 
) t 
GROUP BY Frequency