Mysql 如何正确执行sql查询(node.js+express)
在数据库中,我有两个表:包含所有用户注册详细信息的用户和包含用户朋友关系数据friend_one、friend_two的朋友是引用用户的外键。user_id、状态0-期望、1-拒绝、2-接受和时间戳。朋友是友谊的始作俑者。女孩只能向朋友添加男孩,男孩只能添加女孩。因此,当我尝试获取id为5的user-boy的好友数量时,例如: 我得到值-2。但正确的值是3。因为id为5的用户有三个朋友。请帮我解决这个问题。 你需要对两个人或两个人的状况进行一次调查Mysql 如何正确执行sql查询(node.js+express),mysql,node.js,express,Mysql,Node.js,Express,在数据库中,我有两个表:包含所有用户注册详细信息的用户和包含用户朋友关系数据friend_one、friend_two的朋友是引用用户的外键。user_id、状态0-期望、1-拒绝、2-接受和时间戳。朋友是友谊的始作俑者。女孩只能向朋友添加男孩,男孩只能添加女孩。因此,当我尝试获取id为5的user-boy的好友数量时,例如: 我得到值-2。但正确的值是3。因为id为5的用户有三个朋友。请帮我解决这个问题。 你需要对两个人或两个人的状况进行一次调查 `SELECT COUNT(*) myC
`SELECT COUNT(*) myCount FROM friends
WHERE status = ? AND ( friends_one =? OR friends_two =?) `;
你只是错过了括号当我添加括号时,我得到了值zero你能在ans下运行到你的mysql吗?是的,我仍然得到zero检查,我仍然得到zero哪种数据类型是列状态,friend_one,friend_two….@scaisEdge,friend_one和friend two是整数,状态是枚举'0','1','2',我已经在我的数据库中测试了代码,工作正常。。仅为了测试,请尝试执行等效查询,选择COUNT*myCount FROM friends,其中status=2,friends\u one=5或status=2,friends\u one=5;是否确实已连接到正确的数据源。您的表似乎没有预期的数据
`SELECT COUNT(*) myCount FROM friends
WHERE status = ? AND ( friends_one =? OR friends_two =?) `;