假设我有一个表 auth_token
,其值为 id_type
和 valid_to
。根据 id_type
,我想获取所有 valid_to
小于 time() - x
的 token 。因此,在这种情况下,一旦 id_type
为 a
,一旦 id_type
为 b<,
。 x
将具有另一个值
让我们举个例子:id_type = a
一次,我希望在 valid_to = time() - 3600
和 时选择同一行id_type = b
我希望同一行被选择一次valid_to = time()
。
有人知道我怎样才能实现这个目标吗?
最佳答案
您可以在 where 子句中使用 case when 条件。
i.e.
Select *
from auth_token
where (CASE WHEN id_type = 'a' THEN valid_to = ? WHEN id_type = 'b' THEN valid_to = ? END);
关于mysql - 如何使用查询中的行值来影响查询的选择?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/51260837/