SELECT * FROM db.table TABLESAMPLE(10%)

时间:2018-04-02 11:35:19

标签: mysql

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

SELECT * FROM db.table TABLESAMPLE(10 PERCENT) 

但我收到错误声明........ "#1064 - 您的SQL语法出错;检查与您的MariaDB服务器版本对应的手册,以获得正确的语法,以便使用“(10%)限制0,25'在第1行" 拜托,这已经让我迷上了3天,感谢您的协助

2 个答案:

答案 0 :(得分:1)

我不认为MariaDB / MySQL支持tablesample

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

select t.*
from db.table t
where rand() < 0.1;

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

答案 1 :(得分:0)

使用以下查询:

选择* FROM db.table_name ORDER BY rand();