You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何创建支持输入用户ID并输出好友总数的SQL函数

MySQL 实现接收用户ID返回好友总数的函数

你提供的参考代码存在核心问题:SELECT 查询得到的好友计数值没有赋值给声明的userCount变量,运行时会返回空值或报错,修正后的实现如下:

-- 移除已存在的同名函数
DROP FUNCTION IF EXISTS counting_friends;
-- 临时修改语句结束符,避免和函数内部的分号冲突
DELIMITER //
CREATE FUNCTION counting_friends(user_id INT)
RETURNS INT
DETERMINISTIC
BEGIN
    DECLARE userCount INT;
    -- 将计数结果赋值给变量
    SELECT COUNT(*) INTO userCount 
    FROM user_friend 
    WHERE source_id = user_id;
    RETURN userCount;
END //
-- 恢复默认语句结束符
DELIMITER ;

调用方法

直接执行SELECT counting_friends(要查询的用户ID);即可得到对应用户的好友总数。

注意事项

  • 以上实现默认你的好友关系表名为user_friend,发起好友请求的用户ID字段为source_id,如果实际表结构和字段名不同请对应修改
  • 如果你的好友关系是单向存储(仅存一条source_id加target_id的记录代表双向好友),需要将查询条件调整为WHERE source_id = user_id OR target_id = user_id即可统计完整好友数。

内容的提问来源于stack exchange,提问作者Miki

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.10.20 22:54:02