gpt4 book ai didi

MySql - 仅对连接的行应用限制

转载 作者:行者123 更新时间:2023-11-30 21:34:33 25 4
gpt4 key购买 nike

考虑以下查询:

SELECT u.id
, u.name
, p.id
FROM users u
LEFT
JOIN posts p
ON p.id IN(
SELECT x.id
FROM posts x
WHERE x.user_id = u.id
ORDER
BY x.featured DESC
LIMIT 10
);

我正在尝试将 posts 表连接到 users 表。但是我只想检索每个用户最多 10 个帖子。

此方法会引发以下错误:

This version of MySQL doesn't yet support 'LIMIT & IN/ALL/ANY/SOME subquery'

是否有其他方法可以达到预期的效果?

最佳答案

您应该在子查询上使用内连接而不是左连接和 IN 子句

SELECT users.id, users.name, t.id
FROM users
INNER JOIN (
SELECT posts.id, posts.user_id
FROM posts
WHERE posts.user_id = users.id
ORDER BY posts.featured DESC
LIMIT 10 ) t on t.user_id = users.id

通过这种方式,您不会在子查询的 In 子句中使用限制,这不应该引发错误.. LIMIT & IN .... 的错误,但不是 athe在 JOIN 子查询中使用 in limit(withou IN 子句)

关于MySql - 仅对连接的行应用限制,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/54620845/

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