使用 MySQL 5 这个查询没有任何问题:
SELECT 1+COUNT(*) AS rank
FROM userpoints
WHERE points > COALESCE((SELECT points FROM userpoints WHERE userid=(SELECT userid FROM users WHERE handle='abc123' LIMIT 1)), 0)
使用 MySQL 8.0.23 时会抛出错误:
<块引用>MySQL 查询错误 1064:您的 SQL 语法有错误
不再允许将 SELECT 嵌入到其他 SELECT 中吗?请参阅 userid=(SELECT...
部分。
还是COALESCE
有问题?