初学者SQL问题:不能按年分组
我正在尝试按年份分组,并且我得到了有趣的结果。我使用SQL Server 2008的
首先,我想
select count(applicationkey) , approveddate from ida.applications group by approveddate
要获得通过最新的应用程序的计数。然而,我感兴趣的应用程序通过一年的日子代替,所以我尝试
select count(applicationkey) , approveddate from ida.applications group by year(approveddate)
当我这样做,我得到一个错误信息-Column“ida.applications.ApprovedDate”在选择列表中无效因为它不是在聚合函数或GROUP BY包含clause.-
但是,如果我这样做,我得到的结果
select count(applicationkey) from ida.applications group by year(approveddate)
我得到的结果。它只是我希望能够看到哪一年符合哪个计数,这是我因为某些原因而无法完成的。有谁知道我为什么有这个问题?
您必须在您所查询的任何非聚集列组。如果你按年份分组,那么你需要选择'year(approveddate)'而不是'approvedate' – LittleBobbyTables 2014-09-26 14:57:17
Ravi,一个普通的问题提示提示:你可以包括诸如platform(sql-server)和version sql-server-2008)作为标签在你的问题。你在你的问题中提到了它们,这已经让你领先于很多提问者,但首选的方法是将它们作为标签包含在内。您可以通过点击原始问题下的“编辑”一词来完成此操作:) – AHiggins 2014-09-26 15:10:03