我有一个push
表,我想获取已删除的邮件。它们由非空时间戳确定,我希望它们从用户指定的messages
开始。首先我认为这只是一个简单的查询(我以48为例):
id
我很快发现这不会返回预期的结果。以下是我的数据集的一些结果:
# without id > 48 46,54,53,52,51,50,49,48,61,63,62 # with id > 48 49,50,51,52,53,54,61,62,63 # so I just want to cut the result from a specified value, like so 46,54,53,52,51,50,49,48 V 61,63,62 % *snip* # expected result 61,63,62
(我加了剪刀来说明问题)
如何构建查询?我也开放了一个仅限Laravel的解决方案,但只是采用SQL方式会很好。我知道可以使用Laravel端的PHP脚本来完成限制,但是当这个数据每秒被ping一次时,它的成本很高。
答案 0 :(得分:1)
NULL不是String
select id from messages where deleted_at is not null and id > 48 order by deleted_at;
答案 1 :(得分:0)
使用Laravel,您可以使用WhereNotNull
,例如:
$messages = DB::table('messages')
->whereNotNull('deleted_at')
->orderBy('deleted_at', 'desc')
->get();