求一句SQL语句,详情请进

zcxverygood123456 2007-05-17 05:56:02
求一句SQL语句
------------------
归档
2007年05月(4)
2007年04月(9)
2007年03月(14)
2007年02月(17)
2007年01月(18)
--------------------------
在博客里有这个归档,SQL语句怎么实现???
============================================
我的数据表为:
二、博客文章bk_wz
w_id
w_name 文章名称
w_nr 文章内容
w_time 发布时间
...全文
625 点赞 收藏 21
写回复
21 条回复
切换为时间正序
当前发帖距今超过3年,不再开放新的回复
发表回复
可以了
非常谢谢
接分了
回复
哎,前段时间在学管理,把技术放一边了。
我该充电了
向高手学习
回复
jinjazz 2007-05-17
where convert(varchar(6),w_time,112)= '"+Request.QueryString["t_time"].ToString().Replace("年","").Replace("月","")+
回复
fcuandy 2007-05-17
c#中的字串的replace方法你不会用?
回复
(....把年替换成-,把月替换掉)
---------------------
这个地方怎么写啊?

回复
fcuandy 2007-05-17
select * from bk_wz where convert(varchar(7),w_time,120)= '"+Request.QueryString["t_time"].ToString().Replace(....把年替换成-,把月替换掉)+ "' ORDER BY w_time
回复
恩,可以了
非常感谢fcuandy
--------------------------------
还有个问题,
Request.QueryString["w_time"]
传的参数是w_time=2007年05月
怎么在显示列表读出来呢?
即SQL语句怎么写啊?
select * from bk_wz where w_time= '"+Request.QueryString["t_time"]+ "' ORDER BY w_time DESC";
回复
fcuandy 2007-05-17
打多了个SELECT。把最后面的SELECT去掉
回复
fcuandy 2007-05-17
string strSel1 = "select replace(convert(varchar(7),w_time,120),'-','年') + '月' w_time,count(*) num from bk_wz group by select replace(convert(varchar(7),w_time,120),'-','年') + '月' ";
回复
string strSel1 = "select replace(convert(varchar(7),w_time,120),'-','年') + '月' w_time,count(*) num from bk_wz group by convert(varchar(7),w_time,120)";
-----------------------------------------------------
用上面这个语句,出现以下出错:
--------------------------------------------
列 'bk_wz.w_time' 在选择列表中无效,因为该列既不包含在聚合函数中,也不包含在 GROUP BY 子句中。
回复
<asp:datagrid id="DataGrid2" runat="server" GridLines="None" CellPadding="0" AutoGenerateColumns="False"
ShowHeader="False">
<Columns>
<asp:TemplateColumn>
<ItemTemplate>
<%# DataBinder.Eval(Container, "DataItem.w_time","{0:Y}") %>
</ItemTemplate>
</asp:TemplateColumn>
</Columns>
</asp:datagrid>
-------------------------------------
SqlConnection MyConnection = new SqlConnection(System.Configuration.ConfigurationSettings.AppSettings["connectionString"]);
string strSel1 = "select convert(varchar(7),w_time,120) from bk_wz group by convert(varchar(7),w_time,120) order by convert(varchar(7),w_time,120)";
DataSet MyDataSet = new DataSet();
SqlDataAdapter myCommand = new SqlDataAdapter(strSel1,MyConnection);
myCommand.Fill(MyDataSet,"999");
this.DataGrid2.DataSource = MyDataSet;
this.DataGrid2.DataBind();
=============================================
代码如上,还是出现上面的错,请教错在哪儿?
回复
fcuandy 2007-05-17
很明显你自己绑定时列名的问题.
简单,给列个别名就可以了

select replace(convert(varchar(7),w_time,120),'-','年') + '月' w_time,count(*) num
from bk_wz
group by convert(varchar(7),w_time,120)
回复
select convert(varchar(7),w_time,120),count(*) from bk_wz group by convert(varchar(7),w_time,120) order by convert(varchar(7),w_time,120)
======================================
使用这个语句,就出现上面的错误。
w_time 这个字段是有的
回复
DataBinder.Eval:“System.Data.DataRowView”不包含名称为 w_time 的属性。
说明: 执行当前 Web 请求期间,出现未处理的异常。请检查堆栈跟踪信息,以了解有关该错误以及代码中导致错误的出处的详细信息。

异常详细信息: System.Web.HttpException: DataBinder.Eval:“System.Data.DataRowView”不包含名称为 w_time 的属性。

回复
zengxiongbin 2007-05-17
select convert(varchar(7),w_time,120),count(*) from bk_wz group by convert(varchar(7),w_time,120) order by convert(varchar(7),w_time,120)
回复
fcuandy 2007-05-17
select replace(convert(varchar(7),w_time,120),'-','年') + '月',count(*) num
from bk_wz
group by convert(varchar(7),w_time,120)
回复
wuxing2006 2007-05-17
select sum(id) from news group by date
回复
回oldmoon(电子商务人,电子商务路) :
---------------
二、博客文章bk_wz
1、w_id ----------文章ID
2、w_name ----------文章名称
3、w_nr ------------文章内容
4、w_time ----------发布时间
===============================
回yiyioo(天一(一个人的Team)) :
怎么提取啊?
回复
zengxiongbin 2007-05-17
select convert(varchar(10),w_time,120),count(*) from bk_wz group by convert(varchar(10),w_time,120) order by convert(varchar(10),w_time,120)
回复
yiyioo 2007-05-17
select 年月,count(年月) from table group by 年月 order by 年月 desc

年月需要从发布时间里提取
回复
加载更多回复
相关推荐
发帖
.NET技术社区
创建于2007-09-28

5.8w+

社区成员

.NET技术交流专区
申请成为版主
帖子事件
创建了帖子
2007-05-17 05:56
社区公告
暂无公告