列完全重复时,SQL05以上版本用CTE。SQL2000用临时表和辅助列
如:
T2:
ID Name
1 Name
1 Name
2 Name2
alter table t add row int identity
select from t2 a where row=(select min(row) from t2 where ID=aID and Name=aName)
update
1、将日期转为数字格式
插入B列为辅助列,在B2中输入公式:
=DATE(MID(A2,7,4),MID(A2,4,2),MID(A2,1,2))
选中B2下拉填充至B8。(如图1)
2、创建数据透视表
选中B1:B8,点击“数据——数据透视表和数据透视图——下一步——下一步”,设置为“现有工作表”并选择F1单元格。点“完成”。
将“数据透视表字段”中,将“日期”拖至左框的行字段处,“姓名”拖到右框数据项处,“事项”及“日期”拖至上框列字段处(如图2)。调整列宽(如图3)。
3、设置时间段统计
将鼠标光标定位在数据透视表中的日期字段,右击鼠标,选“组及显示明细数据——组合”,设置“起始于”时间,如“2011-10-1”,设置“终止于”时间,如“2011-11-30”,“步长”设置为“月”,按确定。(如图4)
根据需要可拖动“事项”和“姓名”字段的左右位置。
有两种,一个是用IFS函数,一个是用VLOOKUP函数,先看效果
再看公式,IFS
=IFS(A2=1,250,A2=2,245,A2=3,240,A2=4,235,A2=5,230,A2=6,225,A2=7,220,A2=8,215)
VLOOKUP
=VLOOKUP(A2,G:H,2,0)
IF函数可以直接识别,但是缺点是如果级别过多,公式就会很长,而用VLOOKUP就需要你提前建立一个数据库,如图中的G:H列,这样的话即使你等级有一百多也可以轻松搞定。
使用通配符“”,如图,在A2单元格中输入:="=行",再设置条件区域为$A$1:$A$2。
参考:>
提供思路:把所有数据放进一个大MAP,map1中,把更新完的数据放到小map中map2,以ID为KEY,整条数据为VALUE;下次再更新的话,将map1中key值等于map2的key值的数据,去掉;再更新
这样导出的日期根本不是标准日期。那怕不是00结尾,在excel里也不是标准日期。
你的情况需要使用辅助列。
假设你的数据是在A列
那么B1输入(b1是假设,你可以任意找个空列)
=left(a1,8)&if(right(a1,2)="00","01",right(a1,2)
下拉填充公式。
公式列就是你要的。再复制这一列,右键,选择性粘贴,勾选“数值”,确定
为了在excel里使用方便,建设你转为标准的日期格式。
那么上面的公式就变为
=--substitute(left(a1,8)&if(right(a1,2)="00","01",right(a1,2),"-","/")
这样的结果是一些数值,调整单元格格式为日期,即可
以上就是关于数据库如何只更新重复数据中的一条全部的内容,包括:数据库如何只更新重复数据中的一条、Excel如何求和(按照时间汇总信息总数)、EXCEL表格前列输入一个数,后列等于另一个数,没有公式等相关内容解答,如果想了解更多相关内容,可以关注我们,你们的支持是我们更新的动力!
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)