我可以在LIMIT偏移量中使用MySQL函数吗

我可以在LIMIT偏移量中使用MySQL函数吗

本文介绍了我可以在LIMIT偏移量中使用MySQL函数吗的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

我可以在LIMIT偏移中使用MySQL函数吗?喜欢:

Can I use MySQL functions in the LIMIT offset?Like:

SELECT * FROM sites WHERE ... LIMIT FLOOR(1 + RAND() * (SELECT COUNT(*) FROM sites)) , 1

推荐答案

不,您不能直接这样做. LIMITOFFSET值必须是常量.

No, you can't do that directly. LIMIT and OFFSET values must be constants.

MySQL文档的引用:

不过,您可以使用准备好的语句和变量:

You can use prepared statements and variables, though:

SELECT @offset:=FLOOR(1 + RAND() * COUNT(*)) FROM sites;
PREPARE STMT FROM 'SELECT * FROM sites WHERE ... LIMIT ?, 1';
EXECUTE STMT USING @offset;

这篇关于我可以在LIMIT偏移量中使用MySQL函数吗的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持!

07-25 19:20