gpt4 book ai didi

mysql - 通过子查询选择和排序查询

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

我从表食谱中选择与表喜欢recipe_id具有相同id的行recipe_id并且具有特定的 user_id (1)。

我想按喜欢表中的日期对所有内容进行排序/排序,而不是像我的示例中那样按食谱...

SELECT DISTINCT name, slugged_url 
FROM recipes
WHERE id
IN
(
SELECT recipe_id
FROM likes t
LEFT JOIN users tn ON tn.id = t.user_id
WHERE tn.id = '1'
)
AND publish = '1'
ORDER BY date DESC
LIMIT 0 , 5

尝试在子查询中排序但没有成功。

最佳答案

您应该在外部查询中使用显式join并使用group by而不是distinct:

SELECT r.name, r.slugged_url 
FROM recipes r JOIN
likes l
ON r.id = l.recipe_id
WHERE l.user_id = 1 AND r.publish = 1
GROUP BY r.name, r.slugged_url
ORDER BY MAX(l.date) DESC
LIMIT 0 , 5;

您不需要 users 表,因为您要与 likes 表中已有的 id 进行比较。

关于mysql - 通过子查询选择和排序查询,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/26690811/

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