显示用户ID的最新状态

时间:2016-09-07 22:07:13

标签: mysql

我正在尝试显示最新的用户状态,但由于某种原因,输出会一直显示它们。

例如,这是我的表

employeeid | employee  | status
123        | Don Smith | 0
123        | Don Smith | 1

这就是我想要的;最新的Don Smith状态

employeeid | employee  | status
123        | Don Smith | 1


SELECT spe1.employeeid, spe1.employee, spe1.status 
FROM sp_employees spe1 
WHERE spe1.employeeid = (SELECT spe2.employeeid
                     FROM sp_employees spe2
                     WHERE spe1.employeeid = spe2.employeeid           
                     ORDER BY spe2.employeeid DESC
                     LIMIT 1)

1 个答案:

答案 0 :(得分:1)

employeeid在两个条目中都相同,您的查询会选择具有此employeeid的所有用户,在这种情况下=所有用户。

首先,您必须保持ID唯一。您还可以使用distinct来避免重复使用同一个用户。

请注意,您的LIMIT 1仅适用于返回请求的employeeid的内部查询。

此外,如果要更改用户的状态,请使用将更新状态值的UPDATE查询,而不是向表中添加新条目。