2015-12-30 70 views
0

将计数函数添加到下面的查询中的任何帮助,计数在ID?计算函数与月份换算

SELECT DISTINCT TOP 10 left(convert(varchar,B.CreatedDate,112),6) as CreatedDate_YYYYMM , B.id 
FROM tbl B 

结果集:

CreatedDate_YYYYMM   id 
    201201      4 
    201201      1 
    201202      2 
    201203      3 
    201203      5 

我想看到的id每CreatedDate_YYYYMM计数:

CreatedDate_YYYYMM   Count 
    201201      2 
    201202      1 
    201203      2 
+0

将不同移动到ID的计数并使用一组。你想要什么排序的前10位数? – xQbert

回答

0

假设你想要的排名前10位基于不同的IDS为每个计日期范围从最高到最低。

SELECT TOP 10 left(convert(varchar,B.CreatedDate,112),6) as CreatedDate_YYYYMM 
     , count(Distinct b.id) [Count] 
FROM tbl B 
GROUP BY left(convert(varchar,B.CreatedDate,112),6)   
ORDER BY count(*) desc 

虽然我宁愿将别名别名为不同的东西,因为count是保留字。