CSDN=>FAQ=>FAQ 展示
  • 问题内容:月份排行榜的数据显示.
  • 原讨论链接:http://community.csdn.net/expert/topicview1.asp?id=4924218
  • 所属论坛:基础类     审核组:MS-SQL Server
  • 提问者:renliquan     解决者:liangpei2008
  • 感谢:xiaozhujun520
  • 关键字:基础类 MS-SQL Server select int title content char union t1 hits adddate allselect
  • 答案:

    表(news)结构如下:
    id,Title,AddDate,typeid,content,hits
    1  新闻1 2004-07-28 00:00:00 国内新闻 新闻1内容 300
    2  新闻2 2004-07-26 00:00:00 财经新闻 新闻2内容 139
    3  新闻3 2004-07-29 00:00:00 国外新闻 新闻3内容 118
    ………………

    想得到的结果:
    按hits排序并且离当前时间一个月的记录,只top 10条
    (就是得到一个本月点击排行榜)
    ---------------------------------------------------------------

    即当前时间与表中AddDate按月份相减!为1时就是1月以前了:)
    ---------------------------------------------------------------

    declare @t1   table  (id int,Title char(10),AddDate datetime,typeid char(10),content char(10),hits int)
    declare @t2   table  (id int,Title char(10),AddDate datetime,typeid char(10),content char(10),hits int)
    insert @t1
    select 4 , '新闻4' ,'2006-07-01 00:00:00', '国外新闻' ,'新闻4内容', 120  union all 
    select 1 , '新闻1','2006-07-01 00:00:00', '国内新闻', '新闻1内容', 300  union all
    select 2 , '新闻2', '2006-07-09 00:00:00', '财经新闻', '新闻2内容' ,139 union all
    select 3 , '新闻3' ,'2006-07-10 00:00:00', '国外新闻' ,'新闻3内容', 118 

    insert @t2
    select 1 , '新闻1','2006-07-28 00:00:00', '国内新闻', '新闻1内容', 300  union all
    select 2 , '新闻2', '2006-07-26 00:00:00', '财经新闻', '新闻2内容' ,139 union all
    select 3 , '新闻3' ,'2006-07-29 00:00:00', '国外新闻' ,'新闻3内容', 118 

    select * from @t1 Where DateDiff(dd,AddDate,Getdate())<30

  • 评价: 有价值 给朵鲜花(31) 无价值 扔个鸡蛋(32)
相关FAQ
网站简介|广告服务|VIP资费标准|银行汇款帐号|网站地图|帮助|联系方式|诚聘英才|English|问题报告
北京创新乐知广告有限公司 版权所有, 京 ICP 证 070598 号
世纪乐知(北京)网络技术有限公司 提供技术支持
Copyright © 2000-2008, CSDN.NET, All Rights Reserved
GongshangLogo