热线电话:13121318867

登录
2019-03-16 阅读量: 539
SQL去重

问题描述:

某用户主页访问表visit,用来记录用户个人主页被访问的记录。
字段有:

id user_id_from user_id_to time

现有查看用户主页访问记录的需求,去重需求为只保存某天内同一用户的最新一条的记录。

解决方法:

    <select id="getUserVisitDoListDistinct" parameterClass="java.util.Map" resultMap="userVisitDoResult">
SELECT
id,
user_id_to,
user_id_from,
status,
MAX(createtime) AS createtime
FROM
(select * from dx_user_visit ORDER BY createtime DESC) AS foo
WHERE user_id_to = #user_id_to# AND user_id_from != #user_id_to#
GROUP BY (DATE_FORMAT(createtime,"%Y%m%d")),user_id_from
<isGreaterThan prepend="HAVING" property="lastId" compareValue="0">
<![CDATA[
id < #lastId#
]]>
</isGreaterThan>
ORDER BY createtime DESC
LIMIT 0,#count#
</select>
0.0000
1
关注作者
收藏
评论(0)

发表评论

暂无数据
推荐帖子