gpt4 book ai didi

mysql - 返回用户最常见的链接 ID

转载 作者:行者123 更新时间:2023-11-29 08:25:01 25 4
gpt4 key购买 nike

我有 3 张 table 。 user_sticker 保存用户之间发送的所有贴纸。加载个人资料 View 屏幕时,我需要显示哪个是提供给用户的最常见的贴纸。

用户

  • id_user
  • 姓名

贴纸

  • id_sticker
  • 姓名

user_sticker

  • id_user_sticker
  • id_sticker
  • id_user_from
  • id_user_to

因此,如果 user_sticker 包含此信息:

  • 1、3、254、205
  • 2、2、362、205
  • 3、2、519、205
  • 4、3、945、205
  • 5、3、199、205

(表示用户254、362、519、945、199向用户205发送了贴纸)。结果必须在同一记录中同时返回用户 205 信息(名称)和最常见的贴纸 ID(在本例中为 #3)。

最佳答案

好的,让我们看看

原则上,您需要使用 user_sticker 表。所以:

SELECT *
FROM user_sticker us

然后,与user_to的用户表进行匹配

SELECT *
FROM user_sticker us JOIN user u ON us.id_user_to = u.id_user

然后,您需要您想要接收的用户的姓名和贴纸

SELECT us.id_sticker, u.name
FROM user_sticker us JOIN user u ON us.id_user_to = u.id_user
WHERE u.id_user = "yourwanteduser"

现在,选择第一个

SELECT TOP 1 us.id_sticker, u.name
FROM user_sticker us JOIN user u ON us.id_user_to = u.id_user
WHERE u.id_user = "yourwanteduser"
ORDER BY (SELECT COUNT(*)
FROM user_sticker us2
WHERE us2.id_user_to=u.id_user AND us2.id_sticker=us.id_sticker)

ORDER BY 用于搜索发送给该用户的贴纸数量

抱歉我的英语不好!我希望这有帮助!

关于mysql - 返回用户最常见的链接 ID,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/18221945/

25 4 0
文章推荐: Java 8 将 Optional 转换为 long、int、String 或 Foo