Mysql 从db.table表中选择*示例(10%)

Mysql 从db.table表中选择*示例(10%),mysql,Mysql,我知道有人问过这个问题,但没有人解决我的问题,我正在使用phpmyadmin服务器版本10.1.21-MariaDB处理localhost,我想使用查询从一个大表中选择n个随机行 SELECT * FROM db.table TABLESAMPLE(10 PERCENT) 但我收到一份错误声明,如。。。。。。。。 1064-您的SQL语法有错误;检查与您的MariaDB服务器版本相对应的手册,以了解第1行“10%限制0,25”附近要使用的正确语法 请注意,这已经吸引了我3天了,非常感谢您的帮

我知道有人问过这个问题,但没有人解决我的问题,我正在使用phpmyadmin服务器版本10.1.21-MariaDB处理localhost,我想使用查询从一个大表中选择n个随机行

SELECT * FROM db.table TABLESAMPLE(10 PERCENT) 
但我收到一份错误声明,如。。。。。。。。 1064-您的SQL语法有错误;检查与您的MariaDB服务器版本相对应的手册,以了解第1行“10%限制0,25”附近要使用的正确语法
请注意,这已经吸引了我3天了,非常感谢您的帮助

我认为MariaDB/MySQL不支持tablesample

您可以使用rand获得10%的样本:

这是不完全相同的,因为行数可能不完全是10%。但是,在大多数情况下,它应该足够近。

使用以下查询:


从db.table_name ORDER BY rand中选择*

@Gordon和Hamja,我觉得rand的表现很慢,你知道我如何提高请求速度吗
select t.*
from db.table t
where rand() < 0.1;