假设我有一张table auth_token
有价值观 id_type
以及 valid_to
. 取决于 id_type
我想把所有的代币都拿出来 valid_to
小于 time() - x
. 所以在这种情况下 x
会有另一个价值 id_type
是 a
那就一次 id_type
是 b
.
举个例子:一次 id_type = a
我想选择同一行一次 valid_to = time() - 3600
什么时候 id_type = b
我希望同一行被选中一次 valid_to = time()
.
有人知道我怎样才能做到这一点吗?
2条答案
按热度按时间42fyovps1#
可以在where子句中使用case-when条件。
bxpogfeg2#
就像斯凯尔瓦解释的那样简单。使用where子句
and
以及or
对这个案子来说已经足够了。我的例子如下:
选择*from auth\u token where(id\u type='a'和valid\u to=time()-3600)或(id\u type='b'和valid\u to=time())