我正在尝试显示最新的用户状态,但由于某种原因,输出会一直显示它们。
例如,这是我的表
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)
答案 0 :(得分:1)
employeeid
在两个条目中都相同,您的查询会选择具有此employeeid的所有用户,在这种情况下=所有用户。
首先,您必须保持ID唯一。您还可以使用distinct
来避免重复使用同一个用户。
请注意,您的LIMIT 1
仅适用于返回请求的employeeid
的内部查询。
此外,如果要更改用户的状态,请使用将更新状态值的UPDATE
查询,而不是向表中添加新条目。