gpt4 book ai didi

mysql - SQL Group By with limit and distinct - MySQL

转载 作者:太空宇宙 更新时间:2023-11-03 10:25:37 25 4
gpt4 key购买 nike

这是我的表和结构

留言箱

  • SID//PK
  • 标题//标题

shoutbox_follower

  • SID
  • UID//用户ID

喊声

  • SID
  • 文本//喊声

我想获取用户关注的每个 Shoutbox 的最后 1 个(最新)喊叫声(Shouts.Text)


我试过了,没用

select shoutbox_follower.SID,shoutbox.title, shouts.text from shoutbox_follower, shoutbox, shouts where shoutbox_follower.uid=1;

但是我可以用多个查询来完成这项工作

SELECT SID from shoutBox_Follower where UID=5
SELECT SID,TEXT from Shouts where SID in ($boxList) order by id desc limit 1
SELECT Title from Shoutbox where SID=? limit 1

最佳答案

在这种情况下,您可以组合查询:

SELECT SID,
(select TEXT
from Shouts
where Shouts.SID = shoutBox_Follower.SID
order by Shouts.SID desc limit 1
) as shout_text
from shoutBox_Follower
where UID=5

对于少量行,它的执行速度非常快(当然,假设您有所需的索引)。根据您的第三个查询,可以使用简单的内部联接获取标题。

关于mysql - SQL Group By with limit and distinct - MySQL,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/6025968/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com