mysql - 尝试创建计算朋友的功能时出错
问题描述
错误:将 SQL 脚本应用到数据库时出错。代码:
USE `my_first_db`;
DROP function IF EXISTS `show_users_firends_count`;
DELIMITER $$
USE `my_first_db`$$
CREATE FUNCTION `show_users_firends_count` (ff int)
RETURNS int(11)
BEGIN
Select
count(user_friend.user_id + user_friend.friend_id)
From
user_friend
Where
user_friend.user_id = ff;
END$$
DELIMITER ;
解决方案
你几乎是对的。
A 函数 ahs 会返回一些东西,以便您将计数发回。
无论如何,您都应该检查查询。你的计数看起来不对。因为您添加了 useid 和 freind_id 并计算,这是错误的。所以检查查询并更改它。它现在计算所有连接到 user_id 的friends_id
DROP function IF EXISTS `show_users_friends_count`;
DELIMITER $$
CREATE FUNCTION `show_users_friends_count` (ff int)
RETURNS int
DETERMINISTIC
BEGIN
Select
count(user_friend.friend_id) INTO @count
From
user_friend
Where
user_friend.user_id = ff;
RETURN @count;
END$$
DELIMITER ;
推荐阅读
- c# - 如何从 SQLite 数据库的新记录中获取具有 char 数据类型的字段,它也由使用 dapper + c# 的触发器生成
- jquery - 如何在 jQuery 对象中使用“自我”?
- jquery - 使用 JQuery 构建选项卡
- python - How to execute query formed by python-sql query builder?
- c++ - 从类的 QList 访问受保护的成员,例如 QList
- python - 将逻辑字符串转换为 JSON
- visual-studio - 如何防止 Visual Studio 以只读模式打开文件?
- google-sheets - 条件格式检查每一列
- multithreading - 对于扫描音频插件,我需要在 QT 中使用哪种类型的线程模型?
- python-3.x - 泡菜文件的结果为 DBSCAN 聚类的新观察结果抛出了错误的结果