gpt4 book ai didi

mysql - 查询一个表中的所有项目,但按另一个不包含所有项目的表排序

转载 作者:行者123 更新时间:2023-11-29 06:00:55 26 4
gpt4 key购买 nike

我有一个表 products,其中包含产品的 idname

第二个表是 products_last_usage,我在其中保存了 product_iduser_idlast_used_at

每当用户点击产品时,我都会更新字段 last_used_at

现在,我需要一个查询来列出所有 产品,并首先按 last_used_at 排序,然后按产品名称排序。它必须是每个用户。即每个用户都有自己的表格顺序。

但我需要所有产品,即使第二个表中没有它们的记录。

怎么做?

你可以帮我做一个rails查询或者mysql查询。

最佳答案

您可以使用左连接:

select p.*
from products p left join
products_last_usage plu
on plu.product_id = p.id and plu.user_id = $user_id
order by (last_used_at is not null) desc, last_used_at desc;

last_used_at desc 排序也应该有效。但是,我认为显式处理 NULL 值会更清楚。

关于mysql - 查询一个表中的所有项目,但按另一个不包含所有项目的表排序,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/45034486/

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