如下数据:20060102 刘三 买入
20060103 刘三 卖出
20060202 张四 买入
20060203 张四 买入现在只想让数据中保存日期最新的数据如:20060103 刘三 卖出
20060203 张四 买入怎么样来操作呢?

解决方案 »

  1.   

    刘三 这个内容所在字段分别建立非聚集索引,提高查询速度delete from table1 a where 字段1<>(select Max(字段1) from table1 where 字段2=a.字段1)20060102 ->字段1
    刘三->字段2
      

  2.   

    现在只想让数据中保存日期最新的数据如:Delete From TableName Where Name + Date Not in ( Select a.Name + a.date From (Select Name,Max(Date) From TableName Group By Name) a)最终表的剩余数据为。20060103 刘三 卖出
    20060203 张四 买入当然日期数据可能需要转换成字符。
      

  3.   


    Delete From TableName Where Name + CONVERT(Varchar(10),Date,101) Not in ( Select a.Name + Convert(Varchar(10),a.date,101) From (Select Name,Max(Date) From TableName Group By Name) a)