当dateid格式化为yyyymmdd时,如何按月分组

时间:2017-12-01 16:35:20

标签: sql-server ssms

我在SQL Server Management Studio中工作。我正在尝试将查询按2014 - 2015年按月逐月分组。我几乎完成了查询,但我不知道如何按月对结果进行分组。我应该插入什么代码按月分组?谢谢!

SELECT
    loc_id, date_id, 
    COUNT(visit_type) AS RepeatVisit 
FROM 
    visit_fact 
WHERE
    visit_type = 'REPEAT' 
    AND date_id >= 20140101 AND date_id < 20150101
GROUP BY
    loc_id, date_id

dateidvarchar(8)列。

1 个答案:

答案 0 :(得分:0)

我假设dateid是文本类型,请使用substr()

Select loc_id, substr(date_id,1,6) as year_month, count(visit_type) as RepeatVisit
FROM visit_fact
where visit_type = 'REPEAT'
and date_id >= 20140101
and date_id < 20150101
group by loc_id, substr(date_id,1,6)