<p>我在MySQL数据库中有一个非常大的表,它有一个列名<code>exa_id</code>,这个表的行数超过10000000。我想通过Python中的<code>pandas.read_sql</code>语句随机有效地选择1000个数据。我怎么写代码?你知道吗</p>
<p>SQL<code>select ext_id from table_name order by rand() limit 1000</code>执行得非常糟糕,我想换一种方式。你知道吗</p>
<p>另一种解释是<code>exa_id</code>列的内容是字符串,如“uudjsx-2220983-df”、“ujxnas-9800xdsd-d2”…,而不是自动递增序列。你知道吗</p>
<p>此查询将帮助您。你知道吗</p>
<pre><code>SELECT name FROM random AS r1
JOIN (SELECT CEIL(RAND() * (SELECT MAX(id) FROM random)) AS id) AS r2
WHERE r1.id >= r2.id
ORDER BY r1.id ASC
LIMIT 100
</code></pre>