求助
gridview中需要显示月份(固定只会有12笔数据1~12),已发行科数(统计本月科发行状态为已发行的笔数)。这种要怎么查啊。。月份 已发行科数
1 10
2 20
3 3
4 50
. .
. .
. .
12 20
DB中已发行科数是worksset.is_release,状态为Y是已发行
希望可以帮我解决啊。。谢谢了 --------------------编程问答-------------------- 解决了到是可以 你到是发数据库结构啊。
要不我select 啥。。 --------------------编程问答-------------------- 不是有说么、表是worksset,已发行科数是is_release --------------------编程问答-------------------- 难道数据库中就没有一个日期字段?
可以从日期字段从抽出月
Google 一下 SQL 日期
应该会有你想要的东西 --------------------编程问答--------------------
--------------------编程问答-------------------- 写错了,应该是:
select 月份,sum(is_release) as is_release from worksset group by is_release where is_release ='Y'
--------------------编程问答-------------------- gridview里面要把12个月份的都显示出来。。没有月份这个字段,月份是固定的1~12,是count(is_release) --------------------编程问答--------------------
select 月份,sum(is_release) as is_release from worksset group by 月份 where is_release ='Y'
这条语句可以查找出所有存在数据记录的月份信息,没有信息的月份查找不出来吧
楼主可以判断一下,如果查找的数据中没有某个月的话,你可以设为0啊 --------------------编程问答-------------------- 月份是固定显示12笔,1~12.根据字段work_date查,这个是datetime类型的。。如果DB中有2011-01-12 我就要查1月份的count(is_release),并且显示在gridview里面的资料是月份:1,如果没有11年2月份,也是要显示2,这个月份就是固定的,DB里面是没有这个字段的。已发行科数:count(is_release)。我要在gridview里面显示出所有月份的信息。 --------------------编程问答-------------------- 终于说清楚要求了 ……
create table temp([month] int)
declare @i int
set @i=1
while(@i<13)
begin
insert into temp values(@i)
set @i=@i+1
end
select b.[month],COUNT(a.is_release) from temp b left join workset a on YEAR(a.work_date)=2011 and month(a.work_date)=b.[month] and a.is_release='Y' group by b.[month]
drop table temp
补充:.NET技术 , ASP.NET