我知道有人问过这个问题,但没有人解决我的问题,我正在本地主机上使用 phpmyadmin 服务器版本:10.1.21-MariaDB,我想使用查询从大表中选择 n 个随机行.... .
SELECT * FROM db.table TABLESAMPLE(10 PERCENT)
但我收到一条错误声明...... “#1064 - 您的 SQL 语法有错误;请查看与您的 MariaDB 服务器版本对应的手册,了解在第 1 行的‘(10 PERCENT) LIMIT 0, 25’附近使用的正确语法” 请这已经让我着迷了 3 天,感谢您的帮助
最佳答案
我认为 MariaDB/MySQL 不支持 tablesample
。
您可以使用 rand()
获得 10% 的样本:
select t.*
from db.table t
where rand() < 0.1;
这不是完全一样,因为行数可能不完全是 10%。但是,对于大多数用途,它应该足够接近。
关于mysql - SELECT * FROM db.table TABLESAMPLE(10%),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/49610521/