您现在的位置: 爱51代码网 >> 范文 >> 文章正文
sqlserver数据列如何判断每天的最大值

sqlserver数据列如何判断每天的最大值

表中列:ID、DateTime、Date、XXX、Mark
DataTime列 就是 DateTime时间格式
Date列 为当天日期的8位数字字符串(如:20130925)
XXX 为每天从第一条数据到最后一条数据的序号,从1开始
ID = Date+XXX(如:20130925001、20130925002、20130925003)

问题:用什么语句给每天最大XXX这行数据标记 Mark 值为 1

知道有个这:max(XXX) over (partition by Date)
但是不知道怎么用,还有什么方法?

--方法一 ;with Tmp as (     select Date,max(ID) as MaxID from [Table] group by Date) update [Table] set Mark = 1 from [Table] A inner join Tmp B ON A.Date = B.Date AND A.id = B.MaxID --方法二 ;with Tmp as (     select row_number() over (partition by Date order by XXX desc ) as Row Date,ID from [Table]  ) update [Table] set Mark = 1 from [Table] A inner join Tmp B ON A.Date = B.Date AND A.id = B.MaxID and b.Row = 1 

--最简单的 select right(convert(varchar(16),max(ID)),len(convert(varchar(16),max(ID))) -8) as MaxID  from [Table] group by Date

  • 上一篇文章:

  • 下一篇文章: 没有了
  • 最新文章 热点文章 相关文章
    GIS用百度行政区域的经纬度直接画
    不小心卸载了.net 4 extend,vs2
    C#byte【】里的数转换成string时
    C#的session取不到值
    java如何判断一个字符串里的数字
    随机找出24个不一样的字,在把一
    java怎么实现html转为pdf
    lotus数据列表文档个数如何实时统
    lotus代理中LS如何将字符串保存到
    在lotus BS系统里怎样方便实现统
    不小心卸载了.net 4 extend,vs2
    C#的session取不到值
    java如何判断一个字符串里的数字
    java怎么实现html转为pdf
    undefined reference timer_crea
    linux文件/usr/lib破坏了,还原后
    Failed to open eth0
    android手机无法与eclipse或电脑
    C/C++洗牌算法源代码
    E-business suite system servic
    Microsoft SQL Server Manag
    如何从Management Studio 的
    如何在整个数据库里查询出包
    资源池 'default' 没
    ASP里调用 MS-SQL的存储过程
    sqlserver时段统计存储过程代
     



    设为首页 | 加入收藏 | 网站地图 | 友情链接 |