文章类 软件类
好好999
 | 网站首页 | 网络编程语言 | 星座情感文章 | 特殊软件下载 | 站长工具天下 | 
html入门培训 网站服务器软件  化妆品经典广告词  雅芳化妆品价格  avon化妆品 net 入门培训 房地产销售广告 化妆品广告词 网络工程师
您现在的位置: 学习网 > 网络编程语言 > Mssql > 正文
 | 网络编程语言首页 | Dreamweaver | Html | Asp | Jsp | Php | Asp.net | Css | Javascript | Access | Mysql | Mssql | Oracle | Domain | Mainframe |
最 新 热 门
推荐文章InnoDB 中文参考手册 --- 15 故
普通文章SQL Server中发送邮件的新方式
推荐文章数据挖掘概述
推荐文章一个将数据导出到EXCEL的存储过
普通文章如何导入指定表?
普通文章InnoDB 中文参考手册 --- 目录
普通文章利用SQL Server的全局临时表防
普通文章[HOWTO]SQL Server2000数据库文
普通文章用记事本看数据窗的数据/颜色设
普通文章让你的应用程序不再对数据库的
 
频 道 推 荐
普通文章SQL Server数据库技术(79)
普通文章SQL Server数据库技术(77)
普通文章SQL Server数据库技术(75)
普通文章SQL Server数据库技术(73)
普通文章SQL Server数据库技术(71)
普通文章SQL Server数据库技术(53)
普通文章SQL Server数据库技术(51)
普通文章Sql Server数据库的备份和恢复
普通文章维护Sql Server中表的索引
普通文章SQL Server数据库技术(102)
普通文章SQL Server数据库技术(99)
普通文章SQL Server数据库技术(97)
普通文章减少SQL日志的三种方法
普通文章SQL Server端口更改后的数据库
普通文章SQL Server 2000之日志传送功能
普通文章使用SQL Server 7.0建立一个安
普通文章SQL SERVER应用问题解答13例(
普通文章SQL SERVER应用问题解答13例(
普通文章精通数据库系列之入门-技巧篇(
普通文章SQL SERVER的命名规则
 
频 道 推 广
 
关于论坛上那个SQL微软面试题。我的解答方法 :-)       ★★★
关于论坛上那个SQL微软面试题。我的解答方法 :-)
作者:佚名 文章来源:本站整理 更新时间:2008-9-23 9:45:02

关于论坛上那个SQL微软面试题。我的解答方法 :-)

来源:不详 作者 佚名 点击数: 录入时间:07-12-19 21:29:48

问题:

一百个账户各有100$,某个账户某天如有支出则添加一条新记录,记录其余额。一百天后,请输出每天所有账户的余额信息
 

这个问题的难点在于每个用户在某天可能有多条纪录,也可能一条纪录也没有(不包括第一天)

返回的记录集是一个100天*100个用户的纪录集

下面是我的思路:

1.创建表并插入测试数据:我们要求username从1-100
CREATE TABLE [dbo].[TABLE2] (
[username] [varchar] (50) NOT NULL , --用户名
[outdate] [datetime] NOT NULL , --日期
[cash] [float] NOT NULL --余额
) ON [PRIMARY

declare @i int
set @i=1
while @i<=100
  begin
    insert table2 values(convert(varchar(50),@i),'2001-10-1',100)
    insert table2 values(convert(varchar(50),@i),'2001-11-1',50)
    set @i=@i+1
  end
insert table2 values(convert(varchar(50),@i),'2001-10-1',90)

select * from table2 order by outdate,convert(int,username)

2.组合查询语句:
a.我们必须返回一个从第一天开始到100天的纪录集:
如:2001-10-1(这个日期是任意的) 到 2002-1-8
由于第一天是任意一天,所以我们需要下面的SQL语句:
select top 100 dateadd(d,convert(int,username)-1,min(outdate)) as outdate
from table2
group by username
order by convert(int,username)
这里的奥妙在于:
convert(int,username)-1(记得我们指定用户名从1-100 :-))
group by username,min(outdate):第一天就可能每个用户有多个纪录。
返回的结果:
outdate                                            &nb

[1] [2] [3] [4] [5] 下一页

 
文章录入:admin    责任编辑:admin 
  • 上一篇文章:

  • 下一篇文章:
  • 相 关 文 章
    Dreamweaver MX 2004 入门教程之实用技巧
    Dreamweaver MX 2004 入门教程之超级连接
    Dreamweaver MX 2004 内建Fireworks技术
    去除 Dreamweaver MX 2004 表格宽度辅助
    细品DW MX 2004内建FW技术
    鼠标事件的基础和完美实现
    用Dreamweaver制作动态链接的Flash按钮
    携手打造【鹏程114 Web查询系统】第三讲
    用DW2004打造PHP+MYSQL数据库环境
    网页设计:一种细腻的导航效果的制作方法
    巧为网页添加背景音乐
    给文字加上阴影效果的方法
    使用CSS设置段落首字下沉
    CSS边框的设定方法
    如何将CSS 加诸于网页
    网页中轻松实现三维字体
    css布局中的居中问题
    用CSS制作表头固定的表格
    CSS制作标签卡Tab效果
    利用css里expression来实现界面对象的批量控制
    | 设为首页 | 加入收藏 | 投搞邮箱 | 友情链接 | 网站公告 | 版权申明 | |
    破天一剑私服 - 冒险岛外挂 - 传奇外挂 - dnf外挂 - 地下城与勇士外挂 - dnf外挂 - 传奇外传外挂 - qq三国外挂 - 天龙八部外挂 - 劲舞团私服 - 劲舞团私服 - 传奇私服 - 传奇私服 - 传奇私服 - 变态传奇私服 - 及时雨外挂 - 热血传奇私服 - 传世私服 - 魔兽世界私服 - 魔兽世界私服 - 完美世界私服

    有事请点这里

    有事点这里

    copyright: 2007-2008 haohao888.com.cn 粤ICP备08105098号