900字范文,内容丰富有趣,生活中的好帮手!
900字范文 > mysql+查询新的一条记录表_Mysql 查询表中每个类别最新的一条记录

mysql+查询新的一条记录表_Mysql 查询表中每个类别最新的一条记录

时间:2020-03-08 07:54:48

相关推荐

mysql+查询新的一条记录表_Mysql 查询表中每个类别最新的一条记录

概要

前提: 现在有个历史表,只要用户看一遍视频,我就新增一条记录,包括用户号、课程号、课程的章节号、时间。

需求: 取出来历史里每个课程的最新一条,然后按照时间降序排列。

效果:

第一步

取出某用户最新的历史

SELECT class_id, MAX( create_time ) create_time

FROM class_history

WHERE user_id = '10000'

GROUP BY class_id

效果:

第二步

上表与历史表联查,增加其他属性

SELECT

h.history_id,

h.user_id,

h.class_id,

h.chapter_id,

h.create_time

FROM

class_history h,

( SELECT class_id, MAX( create_time ) create_time FROM class_history WHERE user_id = '10000' GROUP BY class_id ) t1

WHERE

h.create_time = t1.create_time

AND h.class_id = t1.class_id

ORDER BY

h.create_time DESC

效果:

第三步

查询条件加入class表,展示完整的课程详情

SELECT

h.history_id,

h.user_id,

h.class_id,

h.chapter_id,

c.class_name,

c.pic,

c.`level`,

h.create_time

FROM

class_history h,

( SELECT class_id, MAX( create_time ) create_time FROM class_history WHERE user_id = '10000' GROUP BY class_id ) t1,

class c

WHERE

h.create_time = t1.create_time

AND h.class_id = t1.class_id

AND h.class_id = c.class_id

ORDER BY

h.create_time DESC

效果:

本内容不代表本网观点和政治立场,如有侵犯你的权益请联系我们处理。
网友评论
网友评论仅供其表达个人看法,并不表明网站立场。