gpt4 book ai didi

mysql - 如果一行与过滤器匹配,则从数据库中获取所有行

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

我正在创建一个 Web 服务,该服务向用户发送有关产品的信息,但前提是该信息已更新。例如,我有一个包含翻译的表,我想获取该产品的所有翻译,但前提是这些翻译之一的 updated_at 行高于特定时间戳。这可以在一个查询中实现吗?

这是本例中我的翻译表:

+---------------+
| Translations |
+---------------+
| product_id |
| slug |
| value |
| language_code |
| created_at |
| updated_at |
+---------------+

SELECT * FROM Translations WHERE product_id IN (1, 2, ...);

目前,我总是加载所有产品的翻译并使用 php 代码过滤掉它们。然而,这给我的服务器带来了很大的负载,我想减少它。
我总是希望在更新产品时发送产品的所有翻译,以便最终用户知道它可以删除所有现有翻译并添加这些翻译。

感谢您的帮助。

最佳答案

有一个子查询,为那些更新时间晚于特定时间戳的产品返回product_id。与该结果连接以获取这些产品的所有行。

select t1.*
from tablename t1
join (select distinct product_id
from tablename
where updated_at > :that_timestamp) t2
on t1.product_id = t2.product_id

关于mysql - 如果一行与过滤器匹配,则从数据库中获取所有行,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/38605885/

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