Dmy*_*nko 5 mysql limit offset mariadb
我可以在LIMIT偏移量中使用 MySQL 函数吗?喜欢:
SELECT * FROM sites WHERE ... LIMIT FLOOR(1 + RAND() * (SELECT COUNT(*) FROM sites)) , 1
Run Code Online (Sandbox Code Playgroud)
不,你不能直接这样做。LIMIT并且OFFSET值必须是常量。
来自MySQL 文档的引用:
LIMIT 子句可用于限制 SELECT 语句返回的行数。LIMIT 接受一个或两个数字参数,它们必须都是非负整数常量(使用准备好的语句时除外)。
不过,您可以使用准备好的语句和变量:
SELECT @offset:=FLOOR(1 + RAND() * COUNT(*)) FROM sites;
PREPARE STMT FROM 'SELECT * FROM sites WHERE ... LIMIT ?, 1';
EXECUTE STMT USING @offset;
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
1363 次 |
| 最近记录: |