SELECT
*
FROM
(
SELECT
cr.id,
cr.session_id,
cr.content,
cr.send_time,
ROW_NUMBER() over ( PARTITION BY cr.session_id ORDER BY cr.send_time DESC ) AS rowno
FROM
tc_chat_record cr
LEFT JOIN tc_chat_session cs ON cr.session_id = cs.session_id
) t
WHERE rowno = 1
1,tc_chat_record为多表,tc_chat_session表为单表。
2,先排序send_time字段,parition by session_id 会根据字段进行分类排序,排序完后数据是rowno字段,默认为1开始,取第一条所以加了rowno=1条件。
注意:该sql作用于8的版本以上。