我有两张桌子
users(用户 ID、名称、位置、类型等)onlineusers(用户 ID、状态等)我想列出所有userswhere type ='sometype'并按usersasc 排序,但首先所有用户都存在于onlineusers表中,然后是那些不在onlineusers表中的用户。
我已经设法首先获得所有在线用户,但它们不是按升序排列的。
这就是我尝试过的
SELECT * FROM users u
LEFT JOIN onlineusers o on u.userID = o.userID
where u.type = 'sometype'
order by IFNULL(o.userID,9999) desc;
Run Code Online (Sandbox Code Playgroud)
谢谢
SELECT *
FROM users u
LEFT JOIN onlineusers o on u.userID = o.userID
where u.type = 'sometype'
order by o.userID is null,
u.userID
Run Code Online (Sandbox Code Playgroud)
o.userID is null1对于不在线的用户,返回(true);0如果用户在线,则返回 (false)。您可以按这 2 个值进行排序。