Справка по StackExchange, t-sql - PullRequest
       7

Справка по StackExchange, t-sql

0 голосов
/ 15 сентября 2018

Кто-нибудь сможет мне помочь с этим упражнением.Я привык выполнять запросы к postgresql, а не к t-sql, и у меня возникают проблемы с тем, как некоторые из моих агрегатов данных

Мое назначение требует от меня:

  • Создать запрос, которыйвозвращает количество комментариев, сделанных каждый день для каждого поста из 50 самых комментируемых постов в прошлом году.

Например, этот запрос ниже дает мне неагрегированный набор результатов:

select cast(creationdate as date),
        postid,
        count(id)
from comments 
where  postid = 17654496
group by creationdate, postid

Схема все здесь

https://data.stackexchange.com/stackoverflow/query/edit/898297

1 Ответ

0 голосов
/ 15 сентября 2018

Вы можете попытаться использовать CTE, получить count по дате.

, а затем использовать оконную функцию с ROW_NUMBER сделать номер строки order by количество отсчетов.

;with CTE as (
  select  cast(creationdate as date) dt,
          postid,
          count(id) cnt
  from comments 
  WHERE creationdate between dateadd(year,-1,getdate()) and getdate()  
  group by cast(creationdate as date), postid
  ), CTE2 AS (
    select *,ROW_NUMBER() OVER (order by cnt desc) rn
    from CTE
  )
  SELECT * 
  FROM CTE2 
  WHERE rn <=50

https://data.stackexchange.com/stackoverflow/query/898322/test

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...