【发布时间】:2013-08-29 05:32:34
【问题描述】:
例如想象如下表格
select accountid, createdon from account
73C56F61-5FF1-E111-A4F8-005056977FBC 2012-08-28 22:26:47.000
A7C56F61-5FF1-E111-A4F8-005056977FBC 2012-08-28 22:26:48.000
B7C56F61-5FF1-E111-A4F8-005056977FBC 2012-08-28 22:26:48.000
FBC56F61-5FF1-E111-A4F8-005056977FBC 2012-08-28 22:26:49.000
CBC66F61-5FF1-E111-A4F8-005056977FBC 2012-08-28 22:26:54.000
87C66F61-5FF1-E111-A4F8-005056977FBC 2012-08-28 22:26:53.000
53C76F61-5FF1-E111-A4F8-005056977FBC 2012-08-28 22:26:55.000
87C76F61-5FF1-E111-A4F8-005056977FBC 2012-08-28 22:26:56.000
2ED89924-5CFC-E111-A4F8-005056977FBC 2012-09-11 22:01:51.000
C0D79924-5CFC-E111-A4F8-005056977FBC 2012-09-11 22:01:49.000
然后在 2012 年 1 月,此查询的计数为 10 个帐户
select count(*) from account
假设我在 2012 年 2 月有 5 个新帐户,然后在 2012 年 2 月查询 count(*) 返回 15 个帐户。如果我在 2012 年 3 月有 10 个新帐户,那么在 2012 年 3 月查询 count(*) 总共会返回 35 个帐户。
我想得到以下结果
2012-january-10 accounts
2012-febrary-15 accounts
2012-march- 35 accounts
表帐户中的创建日期为日期,
但是如果我做这个查询
select year(createdon), month(createdon), count(*) quantity
from accounts
group by year(createdon), month(createdon)
我得到以下结果:
2012-january-10 accounts
2012-febrary-5 accounts
2012-march- 20 accounts
那么如何通过简单的查询获得第一个结果?不是循环
【问题讨论】:
标签: sql sql-server sql-server-2005 count group-by