gpt4 book ai didi

sql - 如何为每个外键选择有限数量的行? (以及如何指定关系)

转载 作者:行者123 更新时间:2023-11-30 23:41:21 24 4
gpt4 key购买 nike

最近我发布了this question现在我想要相同的查询,但有一个关系。

现在我有了“feeds”表和“feed_entries”表。我希望每个类别的行数有限。上面的查询使用一个带有 category_id 字段的表:

SELECT x.* FROM (SELECT t.*, 
CASE WHEN @cat != t.category_id THEN @rownum := 1 ELSE @rownum := @rownum + 1 END AS rank,
@cat := t.category_id
FROM feed_entries t
JOIN (SELECT @rownum := NULL, @cat := 0) r
ORDER BY t.category_id DESC) x
WHERE x.rank <= 3 AND x.deleted =0 ORDER BY x.category_id, x.date DESC LIMIT 50

但我需要使用“提要”表中的 f.category_id 而不是 t.category_id。如何在此查询中指定关系?

最佳答案

明白了。其实这个sql是我第一个测试的,但是出现了错误,因为我忘记了CASE子句前的逗号。

正确的是:

SELECT x . *
FROM (
SELECT t . * , f.categoria_id AS idCategoria,
CASE WHEN @cat != f.categoria_id
THEN @rownum :=1
ELSE @rownum := @rownum +1
END AS rank, @cat := f.categoria_id AS catteste
FROM feed_entries t, feeds f
JOIN (
SELECT @rownum := NULL , @cat :=0
)r
WHERE t.feed_id = f.id
ORDER BY f.categoria_id DESC
)x
WHERE x.rank <=3
AND x.deleted =0
ORDER BY x.categoria_id, x.date DESC
LIMIT 50

关于sql - 如何为每个外键选择有限数量的行? (以及如何指定关系),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/2761446/

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