SQL Group by Year

Zai*_*Ali 14 t-sql sql-server-2008

这是我的查询.

select CONVERT(varchar, cast(date as datetime), 3)
from shoptransfer 
group by year (date)
Run Code Online (Sandbox Code Playgroud)

我想按日期(varchar)列的年份部分进行分组,但是我收到以下错误:

列'shoptransfer.Date'在选择列表中无效,因为它不包含在聚合函数或GROUP BY子句中.

如何按日期列的年份部分进行分组?

Kev*_*Kev 48

怎么样:

select datepart(yyyy, [date]) as [year]
from shoptransfer 
group by datepart(yyyy, [date])
Run Code Online (Sandbox Code Playgroud)

要么:

select count(*) as qty, datepart(yyyy, [date]) as [year]
from shoptransfer 
group by datepart(yyyy, [date])
order by [year]
Run Code Online (Sandbox Code Playgroud)

这是基于OP的命令:"我想按年份分组(varchar)列"