问题背景
有一张订单记录表,要通过这张表获取里面的最新状态,数据库用的是sql server(关系型数据库可以通用),用到的函数是max,group by,in
最终代码
SELECT
*
FROM
log
WHERE
id IN (
SELECT MAX
( id ) AS id
FROM
log
WHERE---这里是我的条件处理
status_message != 'main'
AND status_comment = 'success'
GROUP BY
status_message
)
思想
首先我们要获取到最新的且唯一的那条数据;这里如果id不是自增或者没有唯一标识符可以字符串拼接解决(我这里可以用单号+时间),获取到最新的那条数据后需要以这个为条件去查询到所有的