我在tbl_messages表中有一个包含id列(_id,integer)和post_id列(_post_id,string)的表。
我想做一个查询,在那里我可以知道行的位置在一个简单的查询没有限制,把它放在偏移。
我可以在PHP中使用search_array进行查询并获取位置,但我希望在同一个查询中进行。
例如:SELECT * FROM tbl_messages WHERE _user = '2' AND _instance = '5' ORDER BY _date ASC LIMIT 10, OFFSET (Here I would like to return the position in the result, and start the result list from post_id = 'R5G96H5D85S9' by example).
我找了几个小时也没找到任何能满足我兴趣的东西,我很感激任何给予我灵感的尝试;
谢谢
2条答案
按热度按时间a9wyjsp71#
您不能在一个查询中执行所描述的操作,因为
LIMIT
和OFFSET
的参数不能是表达式或子查询。所以你必须在运行查询之前计算位置。你说过你已经知道怎么做了。
允许使用整型参数或变量作为
LIMIT
的参数。(注意我去掉了OFFSET前面的逗号)
0g0grzrc2#
好吧,对不起那些说这不可能同时又放弃的人。对于那些来这个问题寻找答案的人,我是这样理解的:
这可以用PHP写成这样: