如何计算表中某一年的行数

时间:2014-08-18 15:14:25

标签: sql sql-server sql-server-2008

我有一个表(名为trxItemdata),其中包含40多列和6000万行。其中一个名为ActivityDateDate的列显示与每个CustomerID关联的日期/年份(表中的另一列)。

我想要做的是找到每年分配的行数(2010,2011等),这样我在结果输出中得到一个如下所示的表:

Year    Number of Rows
2011    100
2012    10000
2013    10000000

我正在查看以下代码,但对group by子句不太熟悉:

select count(*) from trxItemdata
group by year(ActivityDateDate) 

然而,当我运行这个时,我得到下表但不确定它是什么意思:

No Column Name
33060000
27546960
2941697

您可以提供的任何帮助将不胜感激!谢谢!

2 个答案:

答案 0 :(得分:3)

select year(activityDateDate) as [Year], count(1) as [Number Of Rows]
from trxItemdata
group by year(ActivityDateDate)
order by year(ActivityDateDate)

您的日期列是否真的有“DateDate”? :P

答案 1 :(得分:2)

您的查询未命名列。试试这个:

SELECT YEAR(ActivityDateDate) AS [Year],
       COUNT(*) AS NumberOfRows
FROM trxItemdata
GROUP BY YEAR(ActivityDateDate)