如何解决mysql 的 count 子查询返回 0
我很困惑为什么它在 count_row
SELECT `id`,(SELECT count(*)
FROM `user_credits`
WHERE `c_id` = `id`
LIMIT 1) as `count_row`
FROM `user_lists`
它回来了
解决方法
我怀疑表 user_credits
有一个名为 id
的列,所以比较:
c_id
= id
比较同一表的 id
和 c_id
列。
为表 user_lists
使用别名并使用它来限定子查询中的列 id
:
SELECT u.`id`,(SELECT count(*)
FROM `user_credits` AS c
WHERE c.`c_id` = u.`id`) as `count_row`
FROM `user_lists` AS u
此外,即使没有 LIMIT 1
,子查询也只返回 1 行。
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。