如何过虑重复记录 - 技术问答

发布于2021-12-25 17:29:22

现在有这样一个表tbl1:idnameactionuptime1张三a12009-2-32大一b1??2009-2-43王二c1??2009-2-54小明d1??2009-2-65张三a2??2009-2-76张三a3??2009-2-87大一b2??2009-2-108小明d2??2009-2-99小明d3??2009-2-11

5个回答
admin
网友回答2021-12-25
uptime是datetime类型的,刚才试过把类型改为varchar类型,用时间戳试过,还是不是我要的结果,时间是变了,现在我加一个act字段就出现这样的结果,act不是最新的结果1张三a12009-2-82大一b12009-2-103王二c12009-2-54小明d12009-2-11
admin
网友回答2021-12-25
select id, name, max(date(uptime)) as uptime from table2 group by name order by id asc, uptime desc结果:[ol][*]id ? ? ? ? name ? ? ? ? uptime[*]1 ? ? ? ? 张三 ? ? ? ? 2009-02-08[*]2 ? ? ? ? 大一 ? ? ? ? 2009-02-10[*]3 ? ? ? ? 王二 ? ? ? ? 2009-02-05[*]4 ? ? ? ? 小明 ? ? ? ? 2009-02-11[/ol]日子是个位数的话,自动补零了。如果比较两个日期的大小,还是按时间戳比较准些。
admin
网友回答2021-12-25
谢谢你们的答复,可是出来的都不是我想要的最新的结果啊
admin
网友回答2021-12-25
问题还没解决啊,那个dba高手能我解决这个问题啊
admin
网友回答2021-12-25
[ol][*][*]select t1.name,t1.action from tbl1 t1,(SELECT name,max(TO_DAYS(putime)) putime FROM `tbl1` group by name) t2 where TO_DAYS(t1.putime)=t2.putime and t1.name=t2.name[*][/ol]

回到
顶部