gpt4 book ai didi

mysql - 依赖 MySQL SELECT

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

我的问题如下:

我的表是 MESSAGEMESSAGE_COMMENT

MESSAGE (id,content)

MESSAGE_COMMENT (id, message_id, content)

我需要为每条消息选择所有消息和最多 3 条评论,如本例所示:

type | id | content
M 15 "this is a message with no comments"
M 16 "this is another message with many comments"
R 16 "comment1"
R 16 "comment2"
R 16 "comment3"
M 17 "this is another message with no comments"

“id”是 MESSAGE.id 当它是一条消息时,当它是一条评论时是 COMMENT.message_id

我希望我已经清楚地解释了我的问题..

最佳答案

SELECT  *
FROM (
SELECT m.id,
COALESCE(
(
SELECT id
FROM message_comment mc
WHERE mc.message_id = m.id
ORDER BY
mc.message_id DESC, id DESC
LIMIT 2, 1
), 0) AS mid
FROM message m
) mo
LEFT JOIN
message_comment mcd
ON mcd.message_id >= mo.id
AND mcd.message_id <= mo.id
AND mcd.id >= mid

message_comment (message_id, id) 上创建索引以使其快速运行。

有关其工作原理的更详细说明,请参阅我博客中的这篇文章:

关于mysql - 依赖 MySQL SELECT,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/2146736/

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