首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > 数据库 > SQL Server >

更新符合条件的最后一条,该如何处理

2012-04-18 
更新符合条件的最后一条Update OP_AD_Statistics Set StaADSourcexxxx, StaClickNum 2 Where StaID (

更新符合条件的最后一条
Update OP_AD_Statistics Set StaADSource='xxxx', StaClickNum= 2 Where StaID =(Select StaID from OP_AD_Statistics Where StaADSource='xxxx' order by StaID )
这样会报错 除非另外还指定了 TOP 或 FOR XML,否则,ORDER BY 子句在视图、内联函数、派生表、子查询和公用表表达式中无效,怎么改呢

[解决办法]
你得把你的排序拿到外面或者加上top之类的。
[解决办法]

SQL code
;With cte_update As (/*n 控制要更新的行数*/Select Top (n) * From OP_AD_Statistics Where StaADSource='xxxx' Order by StaID)update cte_update     Set StaADSource = 'xxxx' ,                StaClickNum = 2
[解决办法]
Update OP_AD_Statistics a Set StaADSource='xxxx', StaClickNum= 2 Where dt= (Select max(dt) from OP_AD_Statistics Where StaADSource='xxxx' and a.StaID =StaID )

你要按什么来算最后一条。这个表的最后一条?以上是StaID 相同,dt最大的

热点排行