当前位置:编程学习 > C#/ASP.NET >>

求助

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'
--------------------编程问答-------------------- 写错了,应该是:

select 月份,sum(is_release) as is_release from worksset group by 月份 where is_release ='Y'
--------------------编程问答-------------------- gridview里面要把12个月份的都显示出来。。没有月份这个字段,月份是固定的1~12,是count(is_release) --------------------编程问答--------------------
引用 5 楼 ojlovecd 的回复:
写错了,应该是:
SQL code

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
CopyRight © 2022 站长资源库 编程知识问答 zzzyk.com All Rights Reserved
部分文章来自网络,